From deb7f9bcb8a460de781677b6d32956dcdfdc470e Mon Sep 17 00:00:00 2001 From: Yashas Gandhi Date: Mon, 20 Oct 2025 16:35:59 +0200 Subject: [PATCH 1/4] Thermalized Lees-Edwards LB Kernels - Changed generate_lb_kernels.py to thermalize LE. - Added kT and seed parameters in all the LE functions in walberla bridge. - Generated new kernels Co-authored-by: RudolfWeeber --- .../walberla_kernels/generate_lb_kernels.py | 35 +- src/core/lb/LBWalberla.cpp | 6 +- .../lattice_boltzmann/LBWalberlaBase.hpp | 3 +- .../src/lattice_boltzmann/LBWalberlaImpl.hpp | 36 +- ...CollideSweepLeesEdwardsDoublePrecision.cpp | 447 ++++++++-- ...amCollideSweepLeesEdwardsDoublePrecision.h | 62 +- ...lideSweepLeesEdwardsDoublePrecisionAVX.cpp | 840 +++++++++++++++--- ...ollideSweepLeesEdwardsDoublePrecisionAVX.h | 63 +- ...lideSweepLeesEdwardsDoublePrecisionCUDA.cu | 451 ++++++++-- ...llideSweepLeesEdwardsDoublePrecisionCUDA.h | 63 +- ...CollideSweepLeesEdwardsSinglePrecision.cpp | 435 +++++++-- ...amCollideSweepLeesEdwardsSinglePrecision.h | 62 +- ...lideSweepLeesEdwardsSinglePrecisionAVX.cpp | 812 ++++++++++++++--- ...ollideSweepLeesEdwardsSinglePrecisionAVX.h | 62 +- ...lideSweepLeesEdwardsSinglePrecisionCUDA.cu | 435 +++++++-- ...llideSweepLeesEdwardsSinglePrecisionCUDA.h | 62 +- ...CollideSweepThermalizedDoublePrecision.cpp | 34 +- ...amCollideSweepThermalizedDoublePrecision.h | 2 +- ...lideSweepThermalizedDoublePrecisionAVX.cpp | 34 +- ...ollideSweepThermalizedDoublePrecisionAVX.h | 2 +- ...lideSweepThermalizedDoublePrecisionCUDA.cu | 30 +- ...llideSweepThermalizedDoublePrecisionCUDA.h | 2 +- ...CollideSweepThermalizedSinglePrecision.cpp | 30 +- ...amCollideSweepThermalizedSinglePrecision.h | 2 +- ...lideSweepThermalizedSinglePrecisionAVX.cpp | 30 +- ...ollideSweepThermalizedSinglePrecisionAVX.h | 2 +- ...lideSweepThermalizedSinglePrecisionCUDA.cu | 30 +- ...llideSweepThermalizedSinglePrecisionCUDA.h | 2 +- .../LBWalberlaImpl_lees_edwards_tests.cpp | 9 +- testsuite/python/lb_lees_edwards.py | 22 - 30 files changed, 3414 insertions(+), 691 deletions(-) diff --git a/maintainer/walberla_kernels/generate_lb_kernels.py b/maintainer/walberla_kernels/generate_lb_kernels.py index fa9d8b0041..4529f68eb8 100644 --- a/maintainer/walberla_kernels/generate_lb_kernels.py +++ b/maintainer/walberla_kernels/generate_lb_kernels.py @@ -148,22 +148,36 @@ def generate_init_kernels(ctx, method): def generate_stream_collide_lees_edwards_kernels( ctx, method, data_type, fields): precision_prefix = pystencils_espresso.precision_prefix[ctx.double_accuracy] - lbm_opt = lbmpy.LBMOptimisation(symbolic_field=fields["pdfs"], - symbolic_temporary_field=fields["pdfs_tmp"]) - shear_dir_normal = 1 # y-axis + precision_rng = pystencils_espresso.precision_rng[ctx.double_accuracy] + block_offsets = tuple( + ps.TypedSymbol(f"block_offset_{i}", np.uint32) + for i in range(3)) + optimization = {"cse_global": True, + "double_precision": ctx.double_accuracy} le_config = lbmpy.LBMConfig(stencil=stencil, method=lbmpy.Method.TRT, - relaxation_rate=sp.Symbol("omega_shear"), streaming_pattern="pull", + relaxation_rate=sp.Symbol("omega_shear"), force_model=lbmpy.ForceModel.GUO, force=fields["force"].center_vector, kernel_type="stream_pull_collide", **lbm_config_kwargs) - le_update_rule_unthermalized = lbmpy.create_lb_update_rule( + lbm_opt = lbmpy.LBMOptimisation(symbolic_field=fields["pdfs"], + symbolic_temporary_field=fields["pdfs_tmp"]) + shear_dir_normal = 1 # y-axis + lb_collision_rule_thermalized = lbmpy.creationfunctions.create_lb_collision_rule( + method, lbm_config=le_config, - lbm_optimisation=lbm_opt) - le_collision_rule_unthermalized = lees_edwards.add_lees_edwards_to_collision( - config, le_update_rule_unthermalized, fields["pdfs"], stencil, + fluctuating={ + "temperature": kT, + "block_offsets": block_offsets, + "rng_node": precision_rng + }, + lbm_optimisation=lbm_opt, + optimization=optimization + ) + le_lb_collision_rule_thermalized = lees_edwards.add_lees_edwards_to_collision( + config, lb_collision_rule_thermalized, fields["pdfs"], stencil, shear_dir_normal, True) optimization = {"cse_global": True, "double_precision": ctx.double_accuracy} @@ -174,10 +188,11 @@ def generate_stream_collide_lees_edwards_kernels( method, le_config, data_type, - le_collision_rule_unthermalized, + le_lb_collision_rule_thermalized, stem, optimization, - params + params, + block_offset=block_offsets ) ctx.patch_file(stem, get_ext_source(target_suffix), patch_openmp_kernels) diff --git a/src/core/lb/LBWalberla.cpp b/src/core/lb/LBWalberla.cpp index 1d497a28a6..4328c8f0d8 100644 --- a/src/core/lb/LBWalberla.cpp +++ b/src/core/lb/LBWalberla.cpp @@ -156,10 +156,6 @@ void LBWalberla::update_collision_model(LBWalberlaBase &lb, auto le_protocol = system.lees_edwards->get_protocol(); if (le_protocol and not std::holds_alternative(*le_protocol)) { - if (kT != 0.) { - throw std::runtime_error( - "Lees-Edwards LB doesn't support thermalization"); - } auto const &le_bc = system.box_geo->lees_edwards_bc(); auto lees_edwards_object = std::make_unique( le_bc.shear_direction, le_bc.shear_plane_normal, @@ -171,7 +167,7 @@ void LBWalberla::update_collision_model(LBWalberlaBase &lb, return get_shear_velocity(system.get_sim_time(), *le_protocol) * (params.get_tau() / params.get_agrid()); }); - lb.set_collision_model(std::move(lees_edwards_object)); + lb.set_collision_model(std::move(lees_edwards_object), kT, seed); } else { lb.set_collision_model(kT, seed); } diff --git a/src/walberla_bridge/include/walberla_bridge/lattice_boltzmann/LBWalberlaBase.hpp b/src/walberla_bridge/include/walberla_bridge/lattice_boltzmann/LBWalberlaBase.hpp index 2dcd4fd86e..2c51819083 100644 --- a/src/walberla_bridge/include/walberla_bridge/lattice_boltzmann/LBWalberlaBase.hpp +++ b/src/walberla_bridge/include/walberla_bridge/lattice_boltzmann/LBWalberlaBase.hpp @@ -241,7 +241,8 @@ class LBWalberlaBase : public LatticeModel { /** @brief Configure a thermalized collision model for Lees-Edwards. */ virtual void - set_collision_model(std::unique_ptr &&lees_edwards_pack) = 0; + set_collision_model(std::unique_ptr &&lees_edwards_pack, + double kT, unsigned int seed) = 0; /** @brief Check Lees-Edwards boundary conditions. */ virtual void check_lebc(unsigned int shear_direction, diff --git a/src/walberla_bridge/src/lattice_boltzmann/LBWalberlaImpl.hpp b/src/walberla_bridge/src/lattice_boltzmann/LBWalberlaImpl.hpp index c7934f0666..83936d400e 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/LBWalberlaImpl.hpp +++ b/src/walberla_bridge/src/lattice_boltzmann/LBWalberlaImpl.hpp @@ -210,6 +210,7 @@ class LBWalberlaImpl : public LBWalberlaBase { } void operator()(StreamCollisionModelLeesEdwards &cm, IBlock *b) { + cm.configure(m_storage, b); cm.setV_s(static_cast( m_lees_edwards_callbacks->get_shear_velocity())); cm(b); @@ -531,9 +532,8 @@ class LBWalberlaImpl : public LBWalberlaBase { auto const block_variant = std::variant(&block); std::visit(m_run_stream_collide_sweep, cm_variant, block_variant); } - if (auto *cm = std::get_if(&cm_variant)) { - cm->setTime_step(cm->getTime_step() + 1u); - } + std::visit([](auto &cm) { cm.setTime_step(cm.getTime_step() + 1u); }, + cm_variant); } auto has_lees_edwards_bc() const { @@ -700,8 +700,8 @@ class LBWalberlaImpl : public LBWalberlaBase { setup_streaming_communicator(); } - void set_collision_model( - std::unique_ptr &&lees_edwards_pack) override { + void set_collision_model(std::unique_ptr &&lees_edwards_pack, + double kT, unsigned int seed) override { assert(m_kT == 0.); #if defined(__CUDACC__) if constexpr (Architecture == lbmpy::Arch::GPU) { @@ -712,6 +712,7 @@ class LBWalberlaImpl : public LBWalberlaBase { auto const shear_plane_normal = lees_edwards_pack->shear_plane_normal; auto const shear_vel = FloatType_c(lees_edwards_pack->get_shear_velocity()); auto const omega = shear_mode_relaxation_rate(); + auto const omega_odd = odd_mode_relaxation_rate(omega); if (shear_plane_normal != 1u) { throw std::domain_error( "Lees-Edwards LB only supports shear_plane_normal=\"y\""); @@ -728,10 +729,13 @@ class LBWalberlaImpl : public LBWalberlaBase { } auto const &grid_dimensions = lattice.get_grid_dimensions(); auto const grid_size = FloatType_c(grid_dimensions[shear_plane_normal]); + m_kT = FloatType_c(kT); + m_seed = seed; m_collision_model = std::make_shared(StreamCollisionModelLeesEdwards( - m_last_applied_force_field_id, m_pdf_field_id, grid_size, omega, - shear_vel)); + m_last_applied_force_field_id, m_pdf_field_id, grid_size, + zero_centered_to_lb(m_kT), omega, omega, omega_odd, omega, seed, + uint32_t{0u}, shear_vel)); m_lees_edwards_callbacks = std::move(lees_edwards_pack); m_run_stream_collide_sweep = StreamCollideSweepVisitor(blocks, m_lees_edwards_callbacks); @@ -1830,23 +1834,25 @@ class LBWalberlaImpl : public LBWalberlaBase { } [[nodiscard]] std::optional get_rng_state() const override { - auto const cm = - std::get_if(&*m_collision_model); - if (!cm or m_kT == 0.) { + if (m_kT == 0.) { return std::nullopt; } - return {static_cast(cm->getTime_step())}; + return std::visit( + [](auto const &cm) { return static_cast(cm.getTime_step()); }, + *m_collision_model); } void set_rng_state(uint64_t counter) override { - auto const cm = - std::get_if(&*m_collision_model); - if (!cm or m_kT == 0.) { + if (m_kT == 0.) { throw std::runtime_error("This LB instance is unthermalized"); } assert(counter <= static_cast(std::numeric_limits::max())); - cm->setTime_step(static_cast(counter)); + std::visit( + [counter](auto &cm) { + cm.setTime_step(static_cast(counter)); + }, + *m_collision_model); } [[nodiscard]] LatticeWalberla const &get_lattice() const noexcept override { diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp index e884da14b2..2a711cee59 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -25,6 +25,8 @@ #include "core/DataTypes.h" #include "core/Macros.h" +#include "philox_rand.h" + #define FUNC_PREFIX #if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) @@ -46,73 +48,374 @@ namespace walberla { namespace pystencils { namespace internal_1215ae06312aaf63d726636be94fdda3 { -static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, double grid_size, double omega_shear, double v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) { #ifdef _OPENMP #pragma omp parallel #endif { - const double xi_0 = ((1.0) / (omega_shear * -0.25 + 2.0)); - const double rr_0 = xi_0 * (omega_shear * -2.0 + 4.0); + const double xi_20 = omega_bulk * 0.5; + const double xi_47 = omega_shear * 0.041666666666666664; + const double xi_51 = omega_bulk * 0.041666666666666664; + const double xi_62 = omega_shear * 0.125; + const double xi_97 = 3.7416573867739413; + const double xi_100 = 5.4772255750516612; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_150 = omega_odd * 0.25; + const double xi_160 = omega_odd * 0.083333333333333329; + const double xi_173 = 1.7320508075688772; + const double xi_217 = omega_shear * 0.25; + const double xi_223 = omega_odd * 0.041666666666666664; + const double xi_226 = omega_odd * 0.125; + const double rr_0 = 0.0; + const double xi_45 = rr_0 * 0.041666666666666664; #ifdef _OPENMP #pragma omp for schedule(static) #endif for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - const double vel0Term = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double vel1Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double vel2Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double delta_rho = vel0Term + vel1Term + vel2Term + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const double xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const double xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const double xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + const double xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const double xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const double xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const double xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_58 = 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_98 = random_6_0 - 0.5; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const double xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const double xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const double xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const double xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const double xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const double xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_161 = xi_159 * xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_191 = xi_160 * xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160 * xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_224 = xi_159 * xi_223; + const double xi_227 = xi_149 * xi_226; + const double xi_233 = xi_201 * xi_223; + const double xi_234 = xi_199 * xi_226; + const double xi_254 = xi_187 * xi_226; + const double xi_255 = xi_190 * xi_223; + const double xi_23 = rr_0 * xi_22; + const double xi_35 = rr_0 * xi_34; + const double xi_41 = rr_0 * xi_40; + const double xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; const double rho = delta_rho + 1.0; - const double xi_1 = ((1.0) / (rho)); - const double u_0 = xi_1 * (vel0Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + xi_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double u_1 = xi_1 * (vel1Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + xi_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double u_2 = xi_1 * (vel2Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + xi_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_0 = omega_shear * u_0 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_1 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_2 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_3 = omega_shear * u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_4 = omega_shear * u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_5 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_6 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_7 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_8 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_9 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_10 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_11 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_12 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_13 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_14 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_15 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_16 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_17 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_18 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double u0Mu1 = u_0 - u_1; - const double u0Pu1 = u_0 + u_1; - const double u1Pu2 = u_1 + u_2; - const double u1Mu2 = u_1 - u_2; - const double u0Mu2 = u_0 - u_2; - const double u0Pu2 = u_0 + u_2; - const double f_eq_common = delta_rho - rho * u_0 * u_0 - rho * u_1 * u_1 - rho * u_2 * u_2; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + omega_shear * (f_eq_common * 0.33333333333333331 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_1 * u_1) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_1 * u_1) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_0 * u_0) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_0 * u_0) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_2 * u_2) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_2 * u_2) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Mu1 * u0Mu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Pu1 * u0Pu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Pu1 * u0Pu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Mu1 * u0Mu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Pu2 * u1Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Mu2 * u1Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Mu2 * u0Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Pu2 * u0Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Mu2 * u1Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Pu2 * u1Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Pu2 * u0Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Mu2 * u0Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const double xi_95 = kT * rho; + const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96 * xi_97 * xi_98; + const double xi_102 = xi_100 * xi_101 * xi_96; + const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103 * xi_104 * xi_105; + const double xi_109 = xi_107 * xi_108 * xi_96; + const double xi_131 = xi_99 * 0.11904761904761904; + const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134 * 0.5; + const double xi_136 = xi_133 * xi_135; + const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152 * 1.4142135623730951; + const double xi_154 = xi_153 * 0.5; + const double xi_163 = xi_104 * xi_152; + const double xi_164 = xi_163 * 0.16666666666666666; + const double xi_165 = xi_162 * xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; + const double xi_169 = xi_102 * 0.10000000000000001; + const double xi_175 = xi_134 * xi_173 * xi_174; + const double xi_176 = xi_175 * 0.16666666666666666; + const double xi_184 = xi_109 * 0.071428571428571425; + const double xi_193 = xi_164 * xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; + const double xi_197 = xi_109 * 0.042857142857142858; + const double xi_204 = xi_164 * xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; + const double xi_207 = xi_133 * xi_134 * 0.25; + const double xi_210 = xi_99 * 0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135 * (random_1_0 - 0.5); + const double xi_222 = xi_135 * (random_2_0 - 0.5); + const double xi_228 = xi_163 * 0.083333333333333329; + const double xi_229 = xi_162 * xi_228; + const double xi_230 = xi_153 * 0.25; + const double xi_231 = xi_151 * xi_230; + const double xi_235 = xi_203 * xi_228; + const double xi_236 = xi_200 * xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109 * 0.014285714285714285; + const double xi_241 = xi_99 * 0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109 * 0.035714285714285712; + const double xi_251 = xi_135 * (random_1_1 - 0.5); + const double xi_256 = xi_188 * xi_230; + const double xi_257 = xi_192 * xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0 * 0.5; + const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_28 = xi_17 * 0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17 * 0.083333333333333329; + const double xi_31 = omega_shear * xi_30 + xi_29; + const double xi_48 = xi_17 * xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17 * xi_51; + const double xi_59 = u_0 * xi_58; + const double xi_64 = u_0 * xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_86 = xi_85 * 0.25; + const double xi_89 = xi_62 * xi_85; + const double xi_111 = u_0 * u_0; + const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_26 = xi_18 * 0.16666666666666666; + const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18 * 0.083333333333333329; + const double xi_53 = xi_18 * xi_51; + const double xi_60 = u_1 * 0.25; + const double xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_65 = u_1 * xi_62; + const double xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_110 = rho * (u_1 * u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho * u_1; + const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_24 = xi_19 * 0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19 * 0.083333333333333329; + const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19 * xi_51; + const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19 * xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2 * xi_58; + const double xi_80 = u_2 * xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_88 = xi_87 * 0.25; + const double xi_90 = xi_62 * xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho * (u_2 * u_2); + const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_116 = omega_even * xi_115; + const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk * xi_119; + const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_123 = omega_even * xi_122; + const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_128 = omega_even * xi_127; + const double xi_130 = xi_128 * 0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); + const double xi_143 = xi_142 * 0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116 * 0.050000000000000003; + const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const double xi_171 = omega_shear * xi_170; + const double xi_172 = xi_171 * 0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123 * 0.035714285714285712; + const double xi_196 = xi_123 * 0.021428571428571429; + const double xi_208 = xi_142 * 0.0625; + const double xi_209 = xi_128 * 0.013888888888888888; + const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; + const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123 * 0.0071428571428571426; + const double xi_240 = xi_128 * 0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123 * 0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)); + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; } } } @@ -121,6 +424,8 @@ static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecision_streamcolli } // namespace internal_1215ae06312aaf63d726636be94fdda3 void StreamCollideSweepLeesEdwardsDoublePrecision::run(IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") auto force = block->getData>(forceID); auto pdfs = block->getData>(pdfsID); @@ -134,9 +439,18 @@ void StreamCollideSweepLeesEdwardsDoublePrecision::run(IBlock *block) { } } + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; + auto &block_offset_0 = this->block_offset_0_; auto &v_s = this->v_s_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -167,11 +481,13 @@ void StreamCollideSweepLeesEdwardsDoublePrecision::run(IBlock *block) { const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } void StreamCollideSweepLeesEdwardsDoublePrecision::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") CellInterval ci = globalCellInterval; CellInterval blockBB = blocks->getBlockCellBB(*block); @@ -193,9 +509,18 @@ void StreamCollideSweepLeesEdwardsDoublePrecision::runOnCellInterval(const share } } + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; + auto &block_offset_0 = this->block_offset_0_; auto &v_s = this->v_s_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) @@ -232,7 +557,7 @@ void StreamCollideSweepLeesEdwardsDoublePrecision::runOnCellInterval(const share const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.h index 28f2cfe57d..fc9d5b9f12 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" @@ -54,12 +54,15 @@ namespace pystencils { class StreamCollideSweepLeesEdwardsDoublePrecision { public: - StreamCollideSweepLeesEdwardsDoublePrecision(BlockDataID forceID_, - BlockDataID pdfsID_, - double grid_size, - double omega_shear, double v_s) - : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), - omega_shear_(omega_shear), v_s_(v_s) {} + StreamCollideSweepLeesEdwardsDoublePrecision( + BlockDataID forceID_, BlockDataID pdfsID_, double grid_size, double kT, + double omega_bulk, double omega_even, double omega_odd, + double omega_shear, uint32_t seed, uint32_t time_step, double v_s) + : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), kT_(kT), + omega_bulk_(omega_bulk), omega_even_(omega_even), omega_odd_(omega_odd), + omega_shear_(omega_shear), seed_(seed), time_step_(time_step), + v_s_(v_s), block_offset_0_(uint32_t(0)), block_offset_1_(uint32_t(0)), + block_offset_2_(uint32_t(0)), configured_(false) {} ~StreamCollideSweepLeesEdwardsDoublePrecision() { for (auto p : cache_pdfs_) { @@ -102,24 +105,65 @@ class StreamCollideSweepLeesEdwardsDoublePrecision { }; } - void configure(const shared_ptr & /*blocks*/, - IBlock * /*block*/) {} + void configure(const shared_ptr &blocks, + IBlock *block) { + Cell BlockCellBB = blocks->getBlockCellBB(*block).min(); + block_offset_0_ = uint32_t(BlockCellBB[0]); + block_offset_1_ = uint32_t(BlockCellBB[1]); + block_offset_2_ = uint32_t(BlockCellBB[2]); + configured_ = true; + } + inline uint32_t getBlock_offset_0() const { return block_offset_0_; } + inline uint32_t getBlock_offset_1() const { return block_offset_1_; } + inline uint32_t getBlock_offset_2() const { return block_offset_2_; } inline double getGrid_size() const { return grid_size_; } + inline double getKt() const { return kT_; } + inline double getOmega_bulk() const { return omega_bulk_; } + inline double getOmega_even() const { return omega_even_; } + inline double getOmega_odd() const { return omega_odd_; } inline double getOmega_shear() const { return omega_shear_; } + inline uint32_t getSeed() const { return seed_; } + inline uint32_t getTime_step() const { return time_step_; } inline double getV_s() const { return v_s_; } + inline void setBlock_offset_0(const uint32_t value) { + block_offset_0_ = value; + } + inline void setBlock_offset_1(const uint32_t value) { + block_offset_1_ = value; + } + inline void setBlock_offset_2(const uint32_t value) { + block_offset_2_ = value; + } inline void setGrid_size(const double value) { grid_size_ = value; } + inline void setKt(const double value) { kT_ = value; } + inline void setOmega_bulk(const double value) { omega_bulk_ = value; } + inline void setOmega_even(const double value) { omega_even_ = value; } + inline void setOmega_odd(const double value) { omega_odd_ = value; } inline void setOmega_shear(const double value) { omega_shear_ = value; } + inline void setSeed(const uint32_t value) { seed_ = value; } + inline void setTime_step(const uint32_t value) { time_step_ = value; } inline void setV_s(const double value) { v_s_ = value; } private: BlockDataID forceID; BlockDataID pdfsID; + uint32_t block_offset_0_; + uint32_t block_offset_1_; + uint32_t block_offset_2_; double grid_size_; + double kT_; + double omega_bulk_; + double omega_even_; + double omega_odd_; double omega_shear_; + uint32_t seed_; + uint32_t time_step_; double v_s_; std::unordered_map *> cache_pdfs_; + + bool configured_; }; } // namespace pystencils diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp index 58e8872b44..c66a467586 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -27,6 +27,8 @@ #include +#include "philox_rand.h" + #define FUNC_PREFIX #if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) @@ -48,13 +50,27 @@ namespace walberla { namespace pystencils { namespace internal_08be08b6e7ea45132a735524ef494de6 { -static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, double grid_size, double omega_shear, double v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) { #ifdef _OPENMP #pragma omp parallel #endif { - const double xi_0 = ((1.0) / (omega_shear * -0.25 + 2.0)); - const double rr_0 = xi_0 * (omega_shear * -2.0 + 4.0); + const double xi_20 = omega_bulk * 0.5; + const double xi_47 = omega_shear * 0.041666666666666664; + const double xi_51 = omega_bulk * 0.041666666666666664; + const double xi_62 = omega_shear * 0.125; + const double xi_97 = 3.7416573867739413; + const double xi_100 = 5.4772255750516612; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_150 = omega_odd * 0.25; + const double xi_160 = omega_odd * 0.083333333333333329; + const double xi_173 = 1.7320508075688772; + const double xi_217 = omega_shear * 0.25; + const double xi_223 = omega_odd * 0.041666666666666664; + const double xi_226 = omega_odd * 0.125; + const double rr_0 = 0.0; + const double xi_45 = rr_0 * 0.041666666666666664; #ifdef _OPENMP #pragma omp for schedule(static) #endif @@ -62,116 +78,690 @@ static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecisionavx_streamco for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { { for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 += 4) { - const __m256d vel0Term = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d vel1Term = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256d vel2Term = _mm256_add_pd(_mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d delta_rho = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel0Term, vel1Term), vel2Term), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + + __m256d random_7_0{}; + __m256d random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + __m256d random_6_0{}; + __m256d random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + __m256d random_5_0{}; + __m256d random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + __m256d random_4_0{}; + __m256d random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + __m256d random_3_0{}; + __m256d random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + __m256d random_2_0{}; + __m256d random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + __m256d random_1_0{}; + __m256d random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + __m256d random_0_0{}; + __m256d random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const __m256d xi_2 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_3 = _mm256_add_pd(_mm256_add_pd(xi_2, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_4 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_5 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_6 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_7 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_8 = _mm256_add_pd(xi_7, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_9 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_11 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_12 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_13 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_14 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_15 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_16 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_21 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_22 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_33 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_34 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_39 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d xi_40 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d xi_58 = _mm256_mul_pd(_mm256_set_pd(0.25, 0.25, 0.25, 0.25), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_63 = _mm256_mul_pd(_mm256_set_pd(xi_62, xi_62, xi_62, xi_62), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_98 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_0); + const __m256d xi_101 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_7_0); + const __m256d xi_103 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_1); + const __m256d xi_108 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_1); + const __m256d xi_112 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])); + const __m256d xi_118 = _mm256_add_pd(xi_11, xi_3); + const __m256d xi_121 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); + const __m256d xi_124 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_125 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_126 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); + const __m256d xi_129 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256d xi_133 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_1); + const __m256d xi_137 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_138 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_139 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_140 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_145 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_146 = _mm256_add_pd(xi_14, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_147 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_148 = _mm256_add_pd(xi_147, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256d xi_149 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_145, xi_146), xi_148), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_151 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_1); + const __m256d xi_155 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_156 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_157 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_158 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); + const __m256d xi_159 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(xi_157, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_148), xi_155), xi_156), xi_158), xi_5); + const __m256d xi_161 = _mm256_mul_pd(xi_159, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); + const __m256d xi_162 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_0); + const __m256d xi_174 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_0); + const __m256d xi_185 = _mm256_add_pd(xi_15, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_186 = _mm256_add_pd(xi_138, xi_185); + const __m256d xi_187 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), xi_186), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_188 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_1); + const __m256d xi_189 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_190 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(xi_157, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_158, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_186, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_189, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_7, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_191 = _mm256_mul_pd(xi_190, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); + const __m256d xi_192 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_0); + const __m256d xi_198 = _mm256_add_pd(_mm256_add_pd(xi_145, xi_155), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); + const __m256d xi_199 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_198, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); + const __m256d xi_200 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_0); + const __m256d xi_201 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_124, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_125, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_126), xi_140), xi_198), xi_6); + const __m256d xi_202 = _mm256_mul_pd(xi_201, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); + const __m256d xi_203 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_1); + const __m256d xi_224 = _mm256_mul_pd(xi_159, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); + const __m256d xi_227 = _mm256_mul_pd(xi_149, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); + const __m256d xi_233 = _mm256_mul_pd(xi_201, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); + const __m256d xi_234 = _mm256_mul_pd(xi_199, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); + const __m256d xi_254 = _mm256_mul_pd(xi_187, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); + const __m256d xi_255 = _mm256_mul_pd(xi_190, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); + const __m256d xi_23 = _mm256_mul_pd(xi_22, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); + const __m256d xi_35 = _mm256_mul_pd(xi_34, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); + const __m256d xi_41 = _mm256_mul_pd(xi_40, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); + const __m256d xi_46 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_50 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_72 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d vel0Term = _mm256_add_pd(xi_3, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256d vel1Term = _mm256_add_pd(xi_4, xi_5); + const __m256d vel2Term = _mm256_add_pd(xi_6, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d delta_rho = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel0Term, vel1Term), vel2Term), xi_8), xi_9), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); const __m256d rho = _mm256_add_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), delta_rho); - const __m256d xi_1 = _mm256_div_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), rho); - const __m256d u_0 = _mm256_add_pd(_mm256_mul_pd(xi_1, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), vel0Term)), _mm256_mul_pd(_mm256_mul_pd(xi_1, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256d u_1 = _mm256_add_pd(_mm256_mul_pd(xi_1, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), vel1Term), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(xi_1, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d u_2 = _mm256_add_pd(_mm256_mul_pd(xi_1, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), vel2Term), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(xi_1, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d forceTerm_2 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d forceTerm_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256d forceTerm_4 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256d forceTerm_5 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_6 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_7 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d forceTerm_8 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d forceTerm_9 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d forceTerm_10 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d forceTerm_11 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_12 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_13 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_14 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_15 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_16 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_17 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.125, -0.125, -0.125, -0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d forceTerm_18 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.25, -0.25, -0.25, -0.25)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d u0Mu1 = _mm256_add_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), u_0); - const __m256d u0Pu1 = _mm256_add_pd(u_0, u_1); - const __m256d u1Pu2 = _mm256_add_pd(u_1, u_2); - const __m256d u1Mu2 = _mm256_add_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), u_1); - const __m256d u0Mu2 = _mm256_add_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), u_0); - const __m256d u0Pu2 = _mm256_add_pd(u_0, u_2); - const __m256d f_eq_common = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(u_0, u_0)), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(u_1, u_1))), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(u_2, u_2))), delta_rho); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), forceTerm_0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u_1), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.1111111111111111, -0.1111111111111111, -0.1111111111111111, -0.1111111111111111))), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(u_1, u_1))))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)), _mm256_set_pd(v_s, v_s, v_s, v_s))), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_1), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u_1), _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.1111111111111111, -0.1111111111111111, -0.1111111111111111, -0.1111111111111111))), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(u_1, u_1))))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0)), _mm256_set_pd(v_s, v_s, v_s, v_s))), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ))), forceTerm_2), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u_0), _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.1111111111111111, -0.1111111111111111, -0.1111111111111111, -0.1111111111111111))), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(u_0, u_0))))), forceTerm_3), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u_0), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.1111111111111111, -0.1111111111111111, -0.1111111111111111, -0.1111111111111111))), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(u_0, u_0))))), forceTerm_4), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u_2), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.1111111111111111, -0.1111111111111111, -0.1111111111111111, -0.1111111111111111))), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(u_2, u_2))))), forceTerm_5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u_2), _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.1111111111111111, -0.1111111111111111, -0.1111111111111111, -0.1111111111111111))), _mm256_mul_pd(_mm256_mul_pd(rho, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(u_2, u_2))))), forceTerm_6), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Mu1), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Mu1, u0Mu1)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_2, u_2))))))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_1, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_7), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Pu1), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Pu1, u0Pu1)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_2, u_2))))))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_8), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Pu1), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Pu1, u0Pu1)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_2, u_2))))))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ))), forceTerm_9), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Mu1), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Mu1, u0Mu1)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_2, u_2))))))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ))), forceTerm_10), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u1Pu2), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u1Pu2, u1Pu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_0, u_0))))))), forceTerm_11), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u1Mu2), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u1Mu2, u1Mu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_0, u_0))))))), forceTerm_12), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Mu2), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Mu2, u0Mu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_1, u_1))))))), forceTerm_13), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Pu2), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Pu2, u0Pu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_1, u_1))))))), forceTerm_14), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u1Mu2), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u1Mu2, u1Mu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_0, u_0))))))), forceTerm_15), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, u1Pu2), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u1Pu2, u1Pu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_0, u_0))))))), forceTerm_16), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Pu2), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Pu2, u0Pu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_1, u_1))))))), forceTerm_17), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.5, 0.5, 0.5, 0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, u0Mu2), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)), _mm256_mul_pd(_mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(f_eq_common, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(delta_rho, _mm256_set_pd(-0.013888888888888888, -0.013888888888888888, -0.013888888888888888, -0.013888888888888888))), _mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(0.125, 0.125, 0.125, 0.125), _mm256_mul_pd(u0Mu2, u0Mu2)), _mm256_mul_pd(_mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664), _mm256_mul_pd(u_1, u_1))))))), forceTerm_18), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); + const __m256d xi_95 = _mm256_mul_pd(rho, _mm256_set_pd(kT, kT, kT, kT)); + const __m256d xi_96 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); + const __m256d xi_99 = _mm256_mul_pd(_mm256_mul_pd(xi_96, xi_98), _mm256_set_pd(xi_97, xi_97, xi_97, xi_97)); + const __m256d xi_102 = _mm256_mul_pd(_mm256_mul_pd(xi_101, xi_96), _mm256_set_pd(xi_100, xi_100, xi_100, xi_100)); + const __m256d xi_105 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); + const __m256d xi_106 = _mm256_mul_pd(_mm256_mul_pd(xi_103, xi_105), _mm256_set_pd(xi_104, xi_104, xi_104, xi_104)); + const __m256d xi_109 = _mm256_mul_pd(_mm256_mul_pd(xi_108, xi_96), _mm256_set_pd(xi_107, xi_107, xi_107, xi_107)); + const __m256d xi_131 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.11904761904761904, 0.11904761904761904, 0.11904761904761904, 0.11904761904761904)); + const __m256d xi_134 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); + const __m256d xi_135 = _mm256_mul_pd(xi_134, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); + const __m256d xi_136 = _mm256_mul_pd(xi_133, xi_135); + const __m256d xi_152 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); + const __m256d xi_153 = _mm256_mul_pd(xi_152, _mm256_set_pd(1.4142135623730951, 1.4142135623730951, 1.4142135623730951, 1.4142135623730951)); + const __m256d xi_154 = _mm256_mul_pd(xi_153, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); + const __m256d xi_163 = _mm256_mul_pd(xi_152, _mm256_set_pd(xi_104, xi_104, xi_104, xi_104)); + const __m256d xi_164 = _mm256_mul_pd(xi_163, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); + const __m256d xi_165 = _mm256_mul_pd(xi_162, xi_164); + const __m256d xi_166 = _mm256_add_pd(xi_161, xi_165); + const __m256d xi_167 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_149, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_151, xi_154)), xi_166); + const __m256d xi_169 = _mm256_mul_pd(xi_102, _mm256_set_pd(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001)); + const __m256d xi_175 = _mm256_mul_pd(_mm256_mul_pd(xi_134, xi_174), _mm256_set_pd(xi_173, xi_173, xi_173, xi_173)); + const __m256d xi_176 = _mm256_mul_pd(xi_175, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); + const __m256d xi_184 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.071428571428571425, 0.071428571428571425, 0.071428571428571425, 0.071428571428571425)); + const __m256d xi_193 = _mm256_mul_pd(xi_164, xi_192); + const __m256d xi_194 = _mm256_add_pd(xi_191, xi_193); + const __m256d xi_195 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_187, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_154, xi_188)), xi_194); + const __m256d xi_197 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.042857142857142858, 0.042857142857142858, 0.042857142857142858, 0.042857142857142858)); + const __m256d xi_204 = _mm256_mul_pd(xi_164, xi_203); + const __m256d xi_205 = _mm256_add_pd(xi_202, xi_204); + const __m256d xi_206 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_199, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_154, xi_200)), xi_205); + const __m256d xi_207 = _mm256_mul_pd(_mm256_mul_pd(xi_133, xi_134), _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); + const __m256d xi_210 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); + const __m256d xi_214 = _mm256_add_pd(_mm256_mul_pd(xi_191, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_193, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_215 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_0)); + const __m256d xi_222 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_0)); + const __m256d xi_228 = _mm256_mul_pd(xi_163, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); + const __m256d xi_229 = _mm256_mul_pd(xi_162, xi_228); + const __m256d xi_230 = _mm256_mul_pd(xi_153, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); + const __m256d xi_231 = _mm256_mul_pd(xi_151, xi_230); + const __m256d xi_235 = _mm256_mul_pd(xi_203, xi_228); + const __m256d xi_236 = _mm256_mul_pd(xi_200, xi_230); + const __m256d xi_237 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_233, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_235, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_234), xi_236); + const __m256d xi_239 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)); + const __m256d xi_241 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.023809523809523808, 0.023809523809523808, 0.023809523809523808, 0.023809523809523808)); + const __m256d xi_244 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_234, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_236, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_233), xi_235); + const __m256d xi_246 = _mm256_mul_pd(xi_207, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); + const __m256d xi_249 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.035714285714285712, 0.035714285714285712, 0.035714285714285712, 0.035714285714285712)); + const __m256d xi_251 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_1)); + const __m256d xi_256 = _mm256_mul_pd(xi_188, xi_230); + const __m256d xi_257 = _mm256_mul_pd(xi_192, xi_228); + const __m256d xi_258 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_254, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_256, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_255), xi_257); + const __m256d xi_260 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_255, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_257, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_254), xi_256); + const __m256d xi_0 = _mm256_div_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), rho); + const __m256d xi_10 = _mm256_mul_pd(xi_0, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); + const __m256d u_0 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_11, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_8, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), vel0Term)), _mm256_mul_pd(xi_10, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); + const __m256d xi_17 = _mm256_mul_pd(u_0, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_28 = _mm256_mul_pd(xi_17, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); + const __m256d xi_29 = _mm256_mul_pd(xi_28, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); + const __m256d xi_30 = _mm256_mul_pd(xi_17, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); + const __m256d xi_31 = _mm256_add_pd(_mm256_mul_pd(xi_30, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), xi_29); + const __m256d xi_48 = _mm256_add_pd(_mm256_mul_pd(xi_17, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_29); + const __m256d xi_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_46, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_34), xi_48); + const __m256d xi_52 = _mm256_mul_pd(xi_17, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); + const __m256d xi_59 = _mm256_mul_pd(u_0, xi_58); + const __m256d xi_64 = _mm256_mul_pd(u_0, xi_63); + const __m256d xi_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_34, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_46), xi_48); + const __m256d xi_75 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_85 = _mm256_mul_pd(u_0, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d xi_86 = _mm256_mul_pd(xi_85, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); + const __m256d xi_89 = _mm256_mul_pd(xi_85, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); + const __m256d xi_111 = _mm256_mul_pd(u_0, u_0); + const __m256d u_1 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_12, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_13, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_9, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), vel1Term)), _mm256_mul_pd(xi_10, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); + const __m256d xi_18 = _mm256_mul_pd(u_1, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_26 = _mm256_mul_pd(xi_18, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); + const __m256d xi_36 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_42 = _mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); + const __m256d xi_43 = _mm256_mul_pd(xi_18, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); + const __m256d xi_53 = _mm256_mul_pd(xi_18, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); + const __m256d xi_60 = _mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); + const __m256d xi_61 = _mm256_mul_pd(xi_60, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_65 = _mm256_mul_pd(u_1, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); + const __m256d xi_66 = _mm256_mul_pd(xi_65, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_67 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_64, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_66, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_59), xi_61); + const __m256d xi_69 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_59, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_61, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_64), xi_66); + const __m256d xi_77 = _mm256_mul_pd(xi_60, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d xi_79 = _mm256_mul_pd(xi_65, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d xi_110 = _mm256_mul_pd(rho, _mm256_mul_pd(u_1, u_1)); + const __m256d xi_117 = _mm256_mul_pd(xi_110, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); + const __m256d xi_216 = _mm256_mul_pd(rho, u_1); + const __m256d xi_218 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(u_0, xi_216)), xi_12), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); + const __m256d xi_219 = _mm256_add_pd(_mm256_mul_pd(xi_215, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_218, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_220 = _mm256_add_pd(xi_215, xi_218); + const __m256d u_2 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_14, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_15, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_16, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), vel2Term)), _mm256_mul_pd(xi_10, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); + const __m256d xi_19 = _mm256_mul_pd(u_2, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d xi_24 = _mm256_mul_pd(xi_19, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); + const __m256d xi_25 = _mm256_mul_pd(xi_24, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); + const __m256d xi_27 = _mm256_mul_pd(xi_19, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); + const __m256d xi_32 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(xi_27, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_25), xi_31); + const __m256d xi_37 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256d xi_38 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_28, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.33333333333333331, -0.33333333333333331, -0.33333333333333331, -0.33333333333333331)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), xi_24), xi_26), xi_36), xi_37); + const __m256d xi_44 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_19, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(xi_43, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(xi_24, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_31), xi_42); + const __m256d xi_54 = _mm256_mul_pd(xi_19, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); + const __m256d xi_55 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_42), xi_52), xi_53), xi_54); + const __m256d xi_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_22, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_50), xi_55); + const __m256d xi_57 = _mm256_add_pd(_mm256_add_pd(xi_27, xi_37), xi_56); + const __m256d xi_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_50, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_22), xi_55); + const __m256d xi_71 = _mm256_add_pd(_mm256_add_pd(xi_27, xi_37), xi_70); + const __m256d xi_73 = _mm256_add_pd(_mm256_mul_pd(xi_19, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_25); + const __m256d xi_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_40, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_72), xi_73); + const __m256d xi_76 = _mm256_add_pd(_mm256_add_pd(xi_30, xi_56), xi_75); + const __m256d xi_78 = _mm256_mul_pd(u_2, xi_58); + const __m256d xi_80 = _mm256_mul_pd(u_2, xi_63); + const __m256d xi_81 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_77, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_78, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_79), xi_80); + const __m256d xi_82 = _mm256_add_pd(_mm256_add_pd(xi_30, xi_70), xi_75); + const __m256d xi_83 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_79, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_80, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_77), xi_78); + const __m256d xi_84 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36, xi_43), xi_52), xi_53), xi_54), xi_74); + const __m256d xi_87 = _mm256_mul_pd(u_2, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256d xi_88 = _mm256_mul_pd(xi_87, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); + const __m256d xi_90 = _mm256_mul_pd(xi_87, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); + const __m256d xi_91 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_89, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_90, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_86), xi_88); + const __m256d xi_92 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_86, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_88, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_89), xi_90); + const __m256d xi_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_72, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_40), xi_73); + const __m256d xi_94 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36, xi_43), xi_52), xi_53), xi_54), xi_93); + const __m256d xi_113 = _mm256_mul_pd(rho, _mm256_mul_pd(u_2, u_2)); + const __m256d xi_114 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_113, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), xi_112); + const __m256d xi_115 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_110, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, xi_111), _mm256_set_pd(1.6666666666666667, 1.6666666666666667, 1.6666666666666667, 1.6666666666666667))), xi_114); + const __m256d xi_116 = _mm256_mul_pd(xi_115, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); + const __m256d xi_119 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_112, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_117, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_118, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_13, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_16, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_5, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(rho, xi_111)), xi_113); + const __m256d xi_120 = _mm256_mul_pd(xi_119, _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)); + const __m256d xi_122 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_110, _mm256_set_pd(2.3333333333333335, 2.3333333333333335, 2.3333333333333335, 2.3333333333333335)), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), xi_114), xi_121); + const __m256d xi_123 = _mm256_mul_pd(xi_122, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); + const __m256d xi_127 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_113, _mm256_set_pd(3.0, 3.0, 3.0, 3.0)), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-4.0, -4.0, -4.0, -4.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-4.0, -4.0, -4.0, -4.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), xi_112), xi_121), xi_124), xi_125), xi_126); + const __m256d xi_128 = _mm256_mul_pd(xi_127, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); + const __m256d xi_130 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.01984126984126984, 0.01984126984126984, 0.01984126984126984, 0.01984126984126984)); + const __m256d xi_132 = _mm256_add_pd(xi_130, xi_131); + const __m256d xi_141 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_113, xi_139), xi_140), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_142 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_117, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_137, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_138, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_141, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_15, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_2, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_4, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)); + const __m256d xi_143 = _mm256_mul_pd(xi_142, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)); + const __m256d xi_144 = _mm256_add_pd(_mm256_mul_pd(xi_136, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_143, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_168 = _mm256_mul_pd(xi_116, _mm256_set_pd(0.050000000000000003, 0.050000000000000003, 0.050000000000000003, 0.050000000000000003)); + const __m256d xi_170 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_110, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_118, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_129, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_141, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_147, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, xi_111), _mm256_set_pd(2.0, 2.0, 2.0, 2.0))); + const __m256d xi_171 = _mm256_mul_pd(xi_170, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)); + const __m256d xi_172 = _mm256_mul_pd(xi_171, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)); + const __m256d xi_177 = _mm256_add_pd(xi_172, xi_176); + const __m256d xi_178 = _mm256_add_pd(_mm256_add_pd(xi_168, xi_169), xi_177); + const __m256d xi_179 = _mm256_add_pd(_mm256_mul_pd(xi_130, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_131, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_180 = _mm256_add_pd(xi_136, xi_143); + const __m256d xi_181 = _mm256_add_pd(_mm256_mul_pd(xi_172, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_176, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_182 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_168, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_169, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_181); + const __m256d xi_183 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.035714285714285712, 0.035714285714285712, 0.035714285714285712, 0.035714285714285712)); + const __m256d xi_196 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.021428571428571429, 0.021428571428571429, 0.021428571428571429, 0.021428571428571429)); + const __m256d xi_208 = _mm256_mul_pd(xi_142, _mm256_set_pd(0.0625, 0.0625, 0.0625, 0.0625)); + const __m256d xi_209 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.013888888888888888, 0.013888888888888888, 0.013888888888888888, 0.013888888888888888)); + const __m256d xi_211 = _mm256_add_pd(_mm256_mul_pd(xi_120, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(xi_106, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))); + const __m256d xi_212 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171, _mm256_set_pd(0.020833333333333332, 0.020833333333333332, 0.020833333333333332, 0.020833333333333332)), _mm256_mul_pd(xi_175, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), xi_211); + const __m256d xi_213 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_166, xi_207), xi_208), xi_209), xi_210), xi_212); + const __m256d xi_221 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_161, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_165, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_207), xi_208), xi_209), xi_210), xi_212); + const __m256d xi_225 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(u_2, xi_216), xi_146), xi_155), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); + const __m256d xi_232 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_224, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_229, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_222), xi_225), xi_227), xi_231); + const __m256d xi_238 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.0071428571428571426, 0.0071428571428571426, 0.0071428571428571426, 0.0071428571428571426)); + const __m256d xi_240 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.003968253968253968, 0.003968253968253968, 0.003968253968253968, 0.003968253968253968)); + const __m256d xi_242 = _mm256_add_pd(_mm256_mul_pd(xi_240, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_241, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_243 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_116, _mm256_set_pd(0.025000000000000001, 0.025000000000000001, 0.025000000000000001, 0.025000000000000001)), _mm256_mul_pd(xi_102, _mm256_set_pd(0.050000000000000003, 0.050000000000000003, 0.050000000000000003, 0.050000000000000003))), _mm256_mul_pd(xi_238, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_239, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_181), xi_211), xi_242); + const __m256d xi_245 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_115, _mm256_set_pd(-0.025000000000000001, -0.025000000000000001, -0.025000000000000001, -0.025000000000000001)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_mul_pd(_mm256_mul_pd(xi_119, _mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664)), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_101, xi_96), _mm256_set_pd(-0.050000000000000003, -0.050000000000000003, -0.050000000000000003, -0.050000000000000003)), _mm256_set_pd(xi_100, xi_100, xi_100, xi_100))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_103, xi_105), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(xi_104, xi_104, xi_104, xi_104))), xi_177), xi_238), xi_239), xi_240), xi_241); + const __m256d xi_247 = _mm256_mul_pd(xi_208, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); + const __m256d xi_248 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.017857142857142856, 0.017857142857142856, 0.017857142857142856, 0.017857142857142856)); + const __m256d xi_250 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_205, xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); + const __m256d xi_252 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(rho, u_0), u_2), xi_137), xi_185), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); + const __m256d xi_253 = _mm256_add_pd(_mm256_mul_pd(xi_251, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_252, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d xi_259 = _mm256_add_pd(xi_251, xi_252); + const __m256d xi_261 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_227, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_231, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_222), xi_224), xi_225), xi_229); + const __m256d xi_262 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_202, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_204, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); + const __m256d forceTerm_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_17, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_18, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_19, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_17, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))), _mm256_mul_pd(xi_18, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))), _mm256_mul_pd(xi_19, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))); + const __m256d forceTerm_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_23, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_21), xi_32); + const __m256d forceTerm_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_21, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_23), xi_32); + const __m256d forceTerm_3 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_33, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_38, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_35); + const __m256d forceTerm_4 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_35, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_38, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_33); + const __m256d forceTerm_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_41, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_39), xi_44); + const __m256d forceTerm_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_39, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_41), xi_44); + const __m256d forceTerm_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_57, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_67, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_57, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_69, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_9 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_69, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_71, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_10 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_67, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_71, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_11 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_76, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_81, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_12 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_82, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_83, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_13 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_84, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_91, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_14 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_84, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_92, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_76, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_83, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_93, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_81, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_82, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_93, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_17 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_92, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_94, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + const __m256d forceTerm_18 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_91, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_94, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128, _mm256_set_pd(0.023809523809523808, 0.023809523809523808, 0.023809523809523808, 0.023809523809523808)), _mm256_mul_pd(xi_99, _mm256_set_pd(0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285))), _mm256_mul_pd(xi_123, _mm256_set_pd(0.042857142857142858, 0.042857142857142858, 0.042857142857142858, 0.042857142857142858))), _mm256_mul_pd(xi_109, _mm256_set_pd(0.085714285714285715, 0.085714285714285715, 0.085714285714285715, 0.085714285714285715))), _mm256_mul_pd(xi_116, _mm256_set_pd(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001))), _mm256_mul_pd(xi_102, _mm256_set_pd(0.20000000000000001, 0.20000000000000001, 0.20000000000000001, 0.20000000000000001))), _mm256_mul_pd(xi_120, _mm256_set_pd(-0.5, -0.5, -0.5, -0.5))), _mm256_mul_pd(xi_106, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_129, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_132, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_144, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_167, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_178, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_122, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_108, xi_96), _mm256_set_pd(0.028571428571428571, 0.028571428571428571, 0.028571428571428571, 0.028571428571428571)), _mm256_set_pd(xi_107, xi_107, xi_107, xi_107))), forceTerm_1)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_123, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)), _mm256_mul_pd(xi_109, _mm256_set_pd(0.028571428571428571, 0.028571428571428571, 0.028571428571428571, 0.028571428571428571))), forceTerm_2), xi_167), xi_179), xi_180), xi_182), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_mul_pd(xi_175, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331))), _mm256_mul_pd(xi_183, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_184, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_3), xi_179), xi_195), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_132, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_183, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_184, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_189, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_195, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_170, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_134, xi_174), _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_set_pd(xi_173, xi_173, xi_173, xi_173))), forceTerm_4)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_178, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_180, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_196, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_197, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_206, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_127, _mm256_set_pd(0.015873015873015872, 0.015873015873015872, 0.015873015873015872, 0.015873015873015872)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_96, xi_98), _mm256_set_pd(0.095238095238095233, 0.095238095238095233, 0.095238095238095233, 0.095238095238095233)), _mm256_set_pd(xi_97, xi_97, xi_97, xi_97))), forceTerm_5)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128, _mm256_set_pd(0.015873015873015872, 0.015873015873015872, 0.015873015873015872, 0.015873015873015872)), _mm256_mul_pd(xi_99, _mm256_set_pd(0.095238095238095233, 0.095238095238095233, 0.095238095238095233, 0.095238095238095233))), _mm256_mul_pd(xi_196, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_197, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_6), xi_144), xi_182), xi_206), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_7, xi_213), xi_214), xi_219), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_8, xi_194), xi_213), xi_220), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)), _mm256_set_pd(v_s, v_s, v_s, v_s))), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ)), forceTerm_9), xi_214), xi_220), xi_221), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0)), _mm256_set_pd(v_s, v_s, v_s, v_s))), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ)), forceTerm_10), xi_194), xi_219), xi_221), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_11, xi_232), xi_237), xi_243), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_156, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_232, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_244, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_245, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_12)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_13, xi_250), xi_253), xi_258), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_14, xi_250), xi_259), xi_260), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_145, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_237, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_245, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_261, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_1, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_15)); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ)), forceTerm_16), xi_243), xi_244), xi_261), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ)), forceTerm_17), xi_258), xi_259), xi_262), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ)), forceTerm_18), xi_253), xi_260), xi_262), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); } for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - const double vel0Term = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const double vel1Term = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const double vel2Term = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const double delta_rho = vel0Term + vel1Term + vel2Term + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const double xi_2 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_4 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_5 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + const double xi_6 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; + const double xi_7 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_9 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + const double xi_11 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_12 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_13 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; + const double xi_14 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + const double xi_15 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_16 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_58 = 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_63 = xi_62 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_98 = random_6_0 - 0.5; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_129 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_138 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_139 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; + const double xi_140 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; + const double xi_145 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; + const double xi_147 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + const double xi_156 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; + const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_161 = xi_159 * xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_191 = xi_160 * xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160 * xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_224 = xi_159 * xi_223; + const double xi_227 = xi_149 * xi_226; + const double xi_233 = xi_201 * xi_223; + const double xi_234 = xi_199 * xi_226; + const double xi_254 = xi_187 * xi_226; + const double xi_255 = xi_190 * xi_223; + const double xi_23 = rr_0 * xi_22; + const double xi_35 = rr_0 * xi_34; + const double xi_41 = rr_0 * xi_40; + const double xi_46 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_50 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_72 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; const double rho = delta_rho + 1.0; - const double xi_1 = ((1.0) / (rho)); - const double u_0 = xi_1 * (vel0Term - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + xi_1 * 0.5 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double u_1 = xi_1 * (vel1Term - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + xi_1 * 0.5 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double u_2 = xi_1 * (vel2Term - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + xi_1 * 0.5 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double forceTerm_0 = omega_shear * u_0 * 0.5 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.5 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.5 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] - u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] - u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double forceTerm_1 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double forceTerm_2 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double forceTerm_3 = omega_shear * u_0 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double forceTerm_4 = omega_shear * u_0 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double forceTerm_5 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double forceTerm_6 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double forceTerm_7 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double forceTerm_8 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double forceTerm_9 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double forceTerm_10 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double forceTerm_11 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double forceTerm_12 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double forceTerm_13 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double forceTerm_14 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double forceTerm_15 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double forceTerm_16 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double forceTerm_17 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double forceTerm_18 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double u0Mu1 = u_0 - u_1; - const double u0Pu1 = u_0 + u_1; - const double u1Pu2 = u_1 + u_2; - const double u1Mu2 = u_1 - u_2; - const double u0Mu2 = u_0 - u_2; - const double u0Pu2 = u_0 + u_2; - const double f_eq_common = delta_rho - rho * (u_0 * u_0) - rho * (u_1 * u_1) - rho * (u_2 * u_2); - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + omega_shear * (f_eq_common * 0.33333333333333331 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_1 * u_1) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_1 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_1 * u_1) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_1 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_0 * u_0) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u_0 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_0 * u_0) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u_0 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_2 * u_2) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_2 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_2 * u_2) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_2 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Mu1 * u0Mu1)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu1 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Pu1 * u0Pu1)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu1 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Pu1 * u0Pu1)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu1 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Mu1 * u0Mu1)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu1 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Pu2 * u1Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Pu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Mu2 * u1Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Mu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Mu2 * u0Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Pu2 * u0Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Mu2 * u1Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Mu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Pu2 * u1Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Pu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Pu2 * u0Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Mu2 * u0Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + 0.5 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_95 = kT * rho; + const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96 * xi_97 * xi_98; + const double xi_102 = xi_100 * xi_101 * xi_96; + const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103 * xi_104 * xi_105; + const double xi_109 = xi_107 * xi_108 * xi_96; + const double xi_131 = xi_99 * 0.11904761904761904; + const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134 * 0.5; + const double xi_136 = xi_133 * xi_135; + const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152 * 1.4142135623730951; + const double xi_154 = xi_153 * 0.5; + const double xi_163 = xi_104 * xi_152; + const double xi_164 = xi_163 * 0.16666666666666666; + const double xi_165 = xi_162 * xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; + const double xi_169 = xi_102 * 0.10000000000000001; + const double xi_175 = xi_134 * xi_173 * xi_174; + const double xi_176 = xi_175 * 0.16666666666666666; + const double xi_184 = xi_109 * 0.071428571428571425; + const double xi_193 = xi_164 * xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; + const double xi_197 = xi_109 * 0.042857142857142858; + const double xi_204 = xi_164 * xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; + const double xi_207 = xi_133 * xi_134 * 0.25; + const double xi_210 = xi_99 * 0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135 * (random_1_0 - 0.5); + const double xi_222 = xi_135 * (random_2_0 - 0.5); + const double xi_228 = xi_163 * 0.083333333333333329; + const double xi_229 = xi_162 * xi_228; + const double xi_230 = xi_153 * 0.25; + const double xi_231 = xi_151 * xi_230; + const double xi_235 = xi_203 * xi_228; + const double xi_236 = xi_200 * xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109 * 0.014285714285714285; + const double xi_241 = xi_99 * 0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109 * 0.035714285714285712; + const double xi_251 = xi_135 * (random_1_1 - 0.5); + const double xi_256 = xi_188 * xi_230; + const double xi_257 = xi_192 * xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0 * 0.5; + const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_17 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_28 = xi_17 * 0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17 * 0.083333333333333329; + const double xi_31 = omega_shear * xi_30 + xi_29; + const double xi_48 = xi_17 * xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17 * xi_51; + const double xi_59 = u_0 * xi_58; + const double xi_64 = u_0 * xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_85 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_86 = xi_85 * 0.25; + const double xi_89 = xi_62 * xi_85; + const double xi_111 = (u_0 * u_0); + const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_18 = u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_26 = xi_18 * 0.16666666666666666; + const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18 * 0.083333333333333329; + const double xi_53 = xi_18 * xi_51; + const double xi_60 = u_1 * 0.25; + const double xi_61 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_65 = u_1 * xi_62; + const double xi_66 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_79 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_110 = rho * (u_1 * u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho * u_1; + const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_19 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_24 = xi_19 * 0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19 * 0.083333333333333329; + const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19 * xi_51; + const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19 * xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2 * xi_58; + const double xi_80 = u_2 * xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const double xi_88 = xi_87 * 0.25; + const double xi_90 = xi_62 * xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho * (u_2 * u_2); + const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; + const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_116 = omega_even * xi_115; + const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk * xi_119; + const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const double xi_123 = omega_even * xi_122; + const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 4.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_128 = omega_even * xi_127; + const double xi_130 = xi_128 * 0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]); + const double xi_143 = xi_142 * 0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116 * 0.050000000000000003; + const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const double xi_171 = omega_shear * xi_170; + const double xi_172 = xi_171 * 0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123 * 0.035714285714285712; + const double xi_196 = xi_123 * 0.021428571428571429; + const double xi_208 = xi_142 * 0.0625; + const double xi_209 = xi_128 * 0.013888888888888888; + const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; + const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123 * 0.0071428571428571426; + const double xi_240 = xi_128 * 0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123 * 0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)); + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; } } } @@ -181,6 +771,8 @@ static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecisionavx_streamco } // namespace internal_08be08b6e7ea45132a735524ef494de6 void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::run(IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") auto force = block->getData>(forceID); auto pdfs = block->getData>(pdfsID); @@ -194,9 +786,18 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::run(IBlock *block) { } } + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; + auto &block_offset_0 = this->block_offset_0_; auto &v_s = this->v_s_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -230,11 +831,13 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::run(IBlock *block) { const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") CellInterval ci = globalCellInterval; CellInterval blockBB = blocks->getBlockCellBB(*block); @@ -256,9 +859,18 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::runOnCellInterval(const sh } } + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; + auto &block_offset_0 = this->block_offset_0_; auto &v_s = this->v_s_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) @@ -298,7 +910,7 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::runOnCellInterval(const sh const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.h index 055be027a1..e0820085a1 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" @@ -54,13 +54,15 @@ namespace pystencils { class StreamCollideSweepLeesEdwardsDoublePrecisionAVX { public: - StreamCollideSweepLeesEdwardsDoublePrecisionAVX(BlockDataID forceID_, - BlockDataID pdfsID_, - double grid_size, - double omega_shear, - double v_s) - : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), - omega_shear_(omega_shear), v_s_(v_s) {} + StreamCollideSweepLeesEdwardsDoublePrecisionAVX( + BlockDataID forceID_, BlockDataID pdfsID_, double grid_size, double kT, + double omega_bulk, double omega_even, double omega_odd, + double omega_shear, uint32_t seed, uint32_t time_step, double v_s) + : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), kT_(kT), + omega_bulk_(omega_bulk), omega_even_(omega_even), omega_odd_(omega_odd), + omega_shear_(omega_shear), seed_(seed), time_step_(time_step), + v_s_(v_s), block_offset_0_(uint32_t(0)), block_offset_1_(uint32_t(0)), + block_offset_2_(uint32_t(0)), configured_(false) {} ~StreamCollideSweepLeesEdwardsDoublePrecisionAVX() { for (auto p : cache_pdfs_) { @@ -104,24 +106,65 @@ class StreamCollideSweepLeesEdwardsDoublePrecisionAVX { }; } - void configure(const shared_ptr & /*blocks*/, - IBlock * /*block*/) {} + void configure(const shared_ptr &blocks, + IBlock *block) { + Cell BlockCellBB = blocks->getBlockCellBB(*block).min(); + block_offset_0_ = uint32_t(BlockCellBB[0]); + block_offset_1_ = uint32_t(BlockCellBB[1]); + block_offset_2_ = uint32_t(BlockCellBB[2]); + configured_ = true; + } + inline uint32_t getBlock_offset_0() const { return block_offset_0_; } + inline uint32_t getBlock_offset_1() const { return block_offset_1_; } + inline uint32_t getBlock_offset_2() const { return block_offset_2_; } inline double getGrid_size() const { return grid_size_; } + inline double getKt() const { return kT_; } + inline double getOmega_bulk() const { return omega_bulk_; } + inline double getOmega_even() const { return omega_even_; } + inline double getOmega_odd() const { return omega_odd_; } inline double getOmega_shear() const { return omega_shear_; } + inline uint32_t getSeed() const { return seed_; } + inline uint32_t getTime_step() const { return time_step_; } inline double getV_s() const { return v_s_; } + inline void setBlock_offset_0(const uint32_t value) { + block_offset_0_ = value; + } + inline void setBlock_offset_1(const uint32_t value) { + block_offset_1_ = value; + } + inline void setBlock_offset_2(const uint32_t value) { + block_offset_2_ = value; + } inline void setGrid_size(const double value) { grid_size_ = value; } + inline void setKt(const double value) { kT_ = value; } + inline void setOmega_bulk(const double value) { omega_bulk_ = value; } + inline void setOmega_even(const double value) { omega_even_ = value; } + inline void setOmega_odd(const double value) { omega_odd_ = value; } inline void setOmega_shear(const double value) { omega_shear_ = value; } + inline void setSeed(const uint32_t value) { seed_ = value; } + inline void setTime_step(const uint32_t value) { time_step_ = value; } inline void setV_s(const double value) { v_s_ = value; } private: BlockDataID forceID; BlockDataID pdfsID; + uint32_t block_offset_0_; + uint32_t block_offset_1_; + uint32_t block_offset_2_; double grid_size_; + double kT_; + double omega_bulk_; + double omega_even_; + double omega_odd_; double omega_shear_; + uint32_t seed_; + uint32_t time_step_; double v_s_; std::unordered_map *> cache_pdfs_; + + bool configured_; }; } // namespace pystencils diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu index 1b11ccaf03..86875688ed 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -25,6 +25,8 @@ #include "core/DataTypes.h" #include "core/Macros.h" +#include "philox_rand.h" + #define FUNC_PREFIX __global__ #if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) @@ -46,75 +48,378 @@ namespace walberla { namespace pystencils { namespace internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda { -static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, double grid_size, double omega_shear, double v_s) { +static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) { if (blockDim.x * blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y * blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z * blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) { const int64_t ctr_0 = blockDim.x * blockIdx.x + threadIdx.x + 1; const int64_t ctr_1 = blockDim.y * blockIdx.y + threadIdx.y + 1; const int64_t ctr_2 = blockDim.z * blockIdx.z + threadIdx.z + 1; - const double xi_0 = ((1.0) / (omega_shear * -0.25 + 2.0)); - const double rr_0 = xi_0 * (omega_shear * -2.0 + 4.0); - const double vel0Term = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double vel1Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double vel2Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double delta_rho = vel0Term + vel1Term + vel2Term + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const double xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const double xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const double xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + const double xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const double xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const double xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const double xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_20 = omega_bulk * 0.5; + const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_47 = omega_shear * 0.041666666666666664; + const double xi_51 = omega_bulk * 0.041666666666666664; + const double xi_58 = 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_62 = omega_shear * 0.125; + const double xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_97 = 3.7416573867739413; + const double xi_98 = random_6_0 - 0.5; + const double xi_100 = 5.4772255750516612; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const double xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const double xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const double xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const double xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const double xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const double xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_150 = omega_odd * 0.25; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const double xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_160 = omega_odd * 0.083333333333333329; + const double xi_161 = xi_159 * xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_173 = 1.7320508075688772; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_191 = xi_160 * xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160 * xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_217 = omega_shear * 0.25; + const double xi_223 = omega_odd * 0.041666666666666664; + const double xi_224 = xi_159 * xi_223; + const double xi_226 = omega_odd * 0.125; + const double xi_227 = xi_149 * xi_226; + const double xi_233 = xi_201 * xi_223; + const double xi_234 = xi_199 * xi_226; + const double xi_254 = xi_187 * xi_226; + const double xi_255 = xi_190 * xi_223; + const double rr_0 = 0.0; + const double xi_23 = rr_0 * xi_22; + const double xi_35 = rr_0 * xi_34; + const double xi_41 = rr_0 * xi_40; + const double xi_45 = rr_0 * 0.041666666666666664; + const double xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; const double rho = delta_rho + 1.0; - const double xi_1 = ((1.0) / (rho)); - const double u_0 = xi_1 * (vel0Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + xi_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double u_1 = xi_1 * (vel1Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + xi_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double u_2 = xi_1 * (vel2Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + xi_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_0 = omega_shear * u_0 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.5 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_1 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_2 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_3 = omega_shear * u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_4 = omega_shear * u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_5 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_6 = omega_shear * u_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_7 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_8 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_9 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_10 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_11 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_12 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_13 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double forceTerm_14 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_15 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_16 = omega_shear * u_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double forceTerm_17 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double forceTerm_18 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double u0Mu1 = u_0 - u_1; - const double u0Pu1 = u_0 + u_1; - const double u1Pu2 = u_1 + u_2; - const double u1Mu2 = u_1 - u_2; - const double u0Mu2 = u_0 - u_2; - const double u0Pu2 = u_0 + u_2; - const double f_eq_common = delta_rho - rho * u_0 * u_0 - rho * u_1 * u_1 - rho * u_2 * u_2; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + omega_shear * (f_eq_common * 0.33333333333333331 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_1 * u_1) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_1 * u_1) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_0 * u_0) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_0 * u_0) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_2 * u_2) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * 0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + omega_shear * (delta_rho * -0.1111111111111111 + f_eq_common * 0.16666666666666666 + rho * 0.33333333333333331 * (u_2 * u_2) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * -0.16666666666666666 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Mu1 * u0Mu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Pu1 * u0Pu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]) + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Pu1 * u0Pu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_2 * u_2) + 0.125 * (u0Mu1 * u0Mu1)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Pu2 * u1Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Mu2 * u1Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Mu2 * u0Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Pu2 * u0Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Mu2 * u1Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_0 * u_0) + 0.125 * (u1Pu2 * u1Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Pu2 * u0Pu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * -0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + omega_shear * (delta_rho * -0.013888888888888888 + f_eq_common * 0.041666666666666664 + rho * (0.041666666666666664 * (u_1 * u_1) + 0.125 * (u0Mu2 * u0Mu2)) - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * 0.083333333333333329 - 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + 0.5 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const double xi_95 = kT * rho; + const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96 * xi_97 * xi_98; + const double xi_102 = xi_100 * xi_101 * xi_96; + const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103 * xi_104 * xi_105; + const double xi_109 = xi_107 * xi_108 * xi_96; + const double xi_131 = xi_99 * 0.11904761904761904; + const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134 * 0.5; + const double xi_136 = xi_133 * xi_135; + const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152 * 1.4142135623730951; + const double xi_154 = xi_153 * 0.5; + const double xi_163 = xi_104 * xi_152; + const double xi_164 = xi_163 * 0.16666666666666666; + const double xi_165 = xi_162 * xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; + const double xi_169 = xi_102 * 0.10000000000000001; + const double xi_175 = xi_134 * xi_173 * xi_174; + const double xi_176 = xi_175 * 0.16666666666666666; + const double xi_184 = xi_109 * 0.071428571428571425; + const double xi_193 = xi_164 * xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; + const double xi_197 = xi_109 * 0.042857142857142858; + const double xi_204 = xi_164 * xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; + const double xi_207 = xi_133 * xi_134 * 0.25; + const double xi_210 = xi_99 * 0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135 * (random_1_0 - 0.5); + const double xi_222 = xi_135 * (random_2_0 - 0.5); + const double xi_228 = xi_163 * 0.083333333333333329; + const double xi_229 = xi_162 * xi_228; + const double xi_230 = xi_153 * 0.25; + const double xi_231 = xi_151 * xi_230; + const double xi_235 = xi_203 * xi_228; + const double xi_236 = xi_200 * xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109 * 0.014285714285714285; + const double xi_241 = xi_99 * 0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109 * 0.035714285714285712; + const double xi_251 = xi_135 * (random_1_1 - 0.5); + const double xi_256 = xi_188 * xi_230; + const double xi_257 = xi_192 * xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0 * 0.5; + const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_28 = xi_17 * 0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17 * 0.083333333333333329; + const double xi_31 = omega_shear * xi_30 + xi_29; + const double xi_48 = xi_17 * xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17 * xi_51; + const double xi_59 = u_0 * xi_58; + const double xi_64 = u_0 * xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_86 = xi_85 * 0.25; + const double xi_89 = xi_62 * xi_85; + const double xi_111 = u_0 * u_0; + const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_26 = xi_18 * 0.16666666666666666; + const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18 * 0.083333333333333329; + const double xi_53 = xi_18 * xi_51; + const double xi_60 = u_1 * 0.25; + const double xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_65 = u_1 * xi_62; + const double xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_110 = rho * (u_1 * u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho * u_1; + const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_24 = xi_19 * 0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19 * 0.083333333333333329; + const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19 * xi_51; + const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19 * xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2 * xi_58; + const double xi_80 = u_2 * xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const double xi_88 = xi_87 * 0.25; + const double xi_90 = xi_62 * xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho * (u_2 * u_2); + const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_116 = omega_even * xi_115; + const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk * xi_119; + const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const double xi_123 = omega_even * xi_122; + const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const double xi_128 = omega_even * xi_127; + const double xi_130 = xi_128 * 0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); + const double xi_143 = xi_142 * 0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116 * 0.050000000000000003; + const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const double xi_171 = omega_shear * xi_170; + const double xi_172 = xi_171 * 0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123 * 0.035714285714285712; + const double xi_196 = xi_123 * 0.021428571428571429; + const double xi_208 = xi_142 * 0.0625; + const double xi_209 = xi_128 * 0.013888888888888888; + const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; + const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123 * 0.0071428571428571426; + const double xi_240 = xi_128 * 0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123 * 0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)); + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; } } } // namespace internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::run(IBlock *block, gpuStream_t stream) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); auto pdfs = block->getData>(pdfsID); + auto force = block->getData>(forceID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -125,9 +430,18 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::run(IBlock *block, gpuStr } } + auto &omega_even = this->omega_even_; + auto &block_offset_1 = this->block_offset_1_; + auto &omega_odd = this->omega_odd_; auto &omega_shear = this->omega_shear_; - auto &v_s = this->v_s_; + auto &kT = this->kT_; auto &grid_size = this->grid_size_; + auto &v_s = this->v_s_; + auto &time_step = this->time_step_; + auto &block_offset_0 = this->block_offset_0_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; + auto &block_offset_2 = this->block_offset_2_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -160,11 +474,13 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::run(IBlock *block, gpuStr const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block, gpuStream_t stream) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") CellInterval ci = globalCellInterval; CellInterval blockBB = blocks->getBlockCellBB(*block); @@ -174,8 +490,8 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::runOnCellInterval(const s if (ci.empty()) return; - auto force = block->getData>(forceID); auto pdfs = block->getData>(pdfsID); + auto force = block->getData>(forceID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -186,9 +502,18 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::runOnCellInterval(const s } } + auto &omega_even = this->omega_even_; + auto &block_offset_1 = this->block_offset_1_; + auto &omega_odd = this->omega_odd_; auto &omega_shear = this->omega_shear_; - auto &v_s = this->v_s_; + auto &kT = this->kT_; auto &grid_size = this->grid_size_; + auto &v_s = this->v_s_; + auto &time_step = this->time_step_; + auto &block_offset_0 = this->block_offset_0_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; + auto &block_offset_2 = this->block_offset_2_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) @@ -227,7 +552,7 @@ void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::runOnCellInterval(const s const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.h index 42feaa160d..27e8435cbf 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" @@ -56,13 +56,15 @@ namespace pystencils { class StreamCollideSweepLeesEdwardsDoublePrecisionCUDA { public: - StreamCollideSweepLeesEdwardsDoublePrecisionCUDA(BlockDataID forceID_, - BlockDataID pdfsID_, - double grid_size, - double omega_shear, - double v_s) - : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), - omega_shear_(omega_shear), v_s_(v_s) {} + StreamCollideSweepLeesEdwardsDoublePrecisionCUDA( + BlockDataID forceID_, BlockDataID pdfsID_, double grid_size, double kT, + double omega_bulk, double omega_even, double omega_odd, + double omega_shear, uint32_t seed, uint32_t time_step, double v_s) + : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), kT_(kT), + omega_bulk_(omega_bulk), omega_even_(omega_even), omega_odd_(omega_odd), + omega_shear_(omega_shear), seed_(seed), time_step_(time_step), + v_s_(v_s), block_offset_0_(uint32_t(0)), block_offset_1_(uint32_t(0)), + block_offset_2_(uint32_t(0)), configured_(false) {} ~StreamCollideSweepLeesEdwardsDoublePrecisionCUDA() { for (auto p : cache_pdfs_) { @@ -114,23 +116,64 @@ class StreamCollideSweepLeesEdwardsDoublePrecisionCUDA { }; } - void configure(const shared_ptr & /*blocks*/, - IBlock * /*block*/) {} + void configure(const shared_ptr &blocks, + IBlock *block) { + Cell BlockCellBB = blocks->getBlockCellBB(*block).min(); + block_offset_0_ = uint32_t(BlockCellBB[0]); + block_offset_1_ = uint32_t(BlockCellBB[1]); + block_offset_2_ = uint32_t(BlockCellBB[2]); + configured_ = true; + } + inline uint32_t getBlock_offset_0() const { return block_offset_0_; } + inline uint32_t getBlock_offset_1() const { return block_offset_1_; } + inline uint32_t getBlock_offset_2() const { return block_offset_2_; } inline double getGrid_size() const { return grid_size_; } + inline double getKt() const { return kT_; } + inline double getOmega_bulk() const { return omega_bulk_; } + inline double getOmega_even() const { return omega_even_; } + inline double getOmega_odd() const { return omega_odd_; } inline double getOmega_shear() const { return omega_shear_; } + inline uint32_t getSeed() const { return seed_; } + inline uint32_t getTime_step() const { return time_step_; } inline double getV_s() const { return v_s_; } + inline void setBlock_offset_0(const uint32_t value) { + block_offset_0_ = value; + } + inline void setBlock_offset_1(const uint32_t value) { + block_offset_1_ = value; + } + inline void setBlock_offset_2(const uint32_t value) { + block_offset_2_ = value; + } inline void setGrid_size(const double value) { grid_size_ = value; } + inline void setKt(const double value) { kT_ = value; } + inline void setOmega_bulk(const double value) { omega_bulk_ = value; } + inline void setOmega_even(const double value) { omega_even_ = value; } + inline void setOmega_odd(const double value) { omega_odd_ = value; } inline void setOmega_shear(const double value) { omega_shear_ = value; } + inline void setSeed(const uint32_t value) { seed_ = value; } + inline void setTime_step(const uint32_t value) { time_step_ = value; } inline void setV_s(const double value) { v_s_ = value; } private: BlockDataID forceID; BlockDataID pdfsID; + uint32_t block_offset_0_; + uint32_t block_offset_1_; + uint32_t block_offset_2_; double grid_size_; + double kT_; + double omega_bulk_; + double omega_even_; + double omega_odd_; double omega_shear_; + uint32_t seed_; + uint32_t time_step_; double v_s_; std::unordered_map *> cache_pdfs_; + + bool configured_; }; } // namespace pystencils diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp index 7fc8d3f602..ae38214978 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -25,6 +25,8 @@ #include "core/DataTypes.h" #include "core/Macros.h" +#include "philox_rand.h" + #define FUNC_PREFIX #if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) @@ -46,73 +48,358 @@ namespace walberla { namespace pystencils { namespace internal_a263151a09bd9903959d48e17aef88f9 { -static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, float grid_size, float omega_shear, float v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) { #ifdef _OPENMP #pragma omp parallel #endif { - const float xi_0 = ((1.0f) / (omega_shear * -0.25f + 2.0f)); - const float rr_0 = xi_0 * (omega_shear * -2.0f + 4.0f); + const float xi_20 = omega_bulk * 0.5f; + const float xi_47 = omega_shear * 0.041666666666666664f; + const float xi_51 = omega_bulk * 0.041666666666666664f; + const float xi_62 = omega_shear * 0.125f; + const float xi_97 = 3.7416573867739413f; + const float xi_100 = 5.4772255750516612f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_150 = omega_odd * 0.25f; + const float xi_160 = omega_odd * 0.083333333333333329f; + const float xi_173 = 1.7320508075688772f; + const float xi_217 = omega_shear * 0.25f; + const float xi_223 = omega_odd * 0.041666666666666664f; + const float xi_226 = omega_odd * 0.125f; + const float rr_0 = 0.0f; + const float xi_45 = rr_0 * 0.041666666666666664f; #ifdef _OPENMP #pragma omp for schedule(static) #endif for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - const float vel0Term = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float vel1Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float vel2Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float delta_rho = vel0Term + vel1Term + vel2Term + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const float xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const float xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const float xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + const float xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const float xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const float xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const float xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_58 = 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_98 = random_3_0 - 0.5f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const float xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const float xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const float xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const float xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const float xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const float xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_161 = xi_159 * xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_191 = xi_160 * xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160 * xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_224 = xi_159 * xi_223; + const float xi_227 = xi_149 * xi_226; + const float xi_233 = xi_201 * xi_223; + const float xi_234 = xi_199 * xi_226; + const float xi_254 = xi_187 * xi_226; + const float xi_255 = xi_190 * xi_223; + const float xi_23 = rr_0 * xi_22; + const float xi_35 = rr_0 * xi_34; + const float xi_41 = rr_0 * xi_40; + const float xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; const float rho = delta_rho + 1.0f; - const float xi_1 = ((1.0f) / (rho)); - const float u_0 = xi_1 * (vel0Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + xi_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float u_1 = xi_1 * (vel1Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + xi_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float u_2 = xi_1 * (vel2Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + xi_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_0 = omega_shear * u_0 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_1 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_2 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_3 = omega_shear * u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_4 = omega_shear * u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_5 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_6 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_7 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_8 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_9 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_10 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_11 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_12 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_13 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_14 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_15 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_16 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_17 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_18 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float u0Mu1 = u_0 - u_1; - const float u0Pu1 = u_0 + u_1; - const float u1Pu2 = u_1 + u_2; - const float u1Mu2 = u_1 - u_2; - const float u0Mu2 = u_0 - u_2; - const float u0Pu2 = u_0 + u_2; - const float f_eq_common = delta_rho - rho * u_0 * u_0 - rho * u_1 * u_1 - rho * u_2 * u_2; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + omega_shear * (f_eq_common * 0.33333333333333331f - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_1 * u_1) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_1 * u_1) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_0 * u_0) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_0 * u_0) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_2 * u_2) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_2 * u_2) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Mu1 * u0Mu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Pu1 * u0Pu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Pu1 * u0Pu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Mu1 * u0Mu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Pu2 * u1Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Mu2 * u1Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Mu2 * u0Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Pu2 * u0Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Mu2 * u1Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Pu2 * u1Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Pu2 * u0Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Mu2 * u0Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const float xi_95 = kT * rho; + const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96 * xi_97 * xi_98; + const float xi_102 = xi_100 * xi_101 * xi_96; + const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103 * xi_104 * xi_105; + const float xi_109 = xi_107 * xi_108 * xi_96; + const float xi_131 = xi_99 * 0.11904761904761904f; + const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134 * 0.5f; + const float xi_136 = xi_133 * xi_135; + const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152 * 1.4142135623730951f; + const float xi_154 = xi_153 * 0.5f; + const float xi_163 = xi_104 * xi_152; + const float xi_164 = xi_163 * 0.16666666666666666f; + const float xi_165 = xi_162 * xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; + const float xi_169 = xi_102 * 0.10000000000000001f; + const float xi_175 = xi_134 * xi_173 * xi_174; + const float xi_176 = xi_175 * 0.16666666666666666f; + const float xi_184 = xi_109 * 0.071428571428571425f; + const float xi_193 = xi_164 * xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; + const float xi_197 = xi_109 * 0.042857142857142858f; + const float xi_204 = xi_164 * xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; + const float xi_207 = xi_133 * xi_134 * 0.25f; + const float xi_210 = xi_99 * 0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135 * (random_0_2 - 0.5f); + const float xi_222 = xi_135 * (random_1_0 - 0.5f); + const float xi_228 = xi_163 * 0.083333333333333329f; + const float xi_229 = xi_162 * xi_228; + const float xi_230 = xi_153 * 0.25f; + const float xi_231 = xi_151 * xi_230; + const float xi_235 = xi_203 * xi_228; + const float xi_236 = xi_200 * xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109 * 0.014285714285714285f; + const float xi_241 = xi_99 * 0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109 * 0.035714285714285712f; + const float xi_251 = xi_135 * (random_0_3 - 0.5f); + const float xi_256 = xi_188 * xi_230; + const float xi_257 = xi_192 * xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0 * 0.5f; + const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_28 = xi_17 * 0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17 * 0.083333333333333329f; + const float xi_31 = omega_shear * xi_30 + xi_29; + const float xi_48 = xi_17 * xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17 * xi_51; + const float xi_59 = u_0 * xi_58; + const float xi_64 = u_0 * xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_86 = xi_85 * 0.25f; + const float xi_89 = xi_62 * xi_85; + const float xi_111 = u_0 * u_0; + const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_26 = xi_18 * 0.16666666666666666f; + const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18 * 0.083333333333333329f; + const float xi_53 = xi_18 * xi_51; + const float xi_60 = u_1 * 0.25f; + const float xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_65 = u_1 * xi_62; + const float xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_110 = rho * (u_1 * u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho * u_1; + const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_24 = xi_19 * 0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19 * 0.083333333333333329f; + const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19 * xi_51; + const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19 * xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2 * xi_58; + const float xi_80 = u_2 * xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_88 = xi_87 * 0.25f; + const float xi_90 = xi_62 * xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho * (u_2 * u_2); + const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_116 = omega_even * xi_115; + const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk * xi_119; + const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_123 = omega_even * xi_122; + const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_128 = omega_even * xi_127; + const float xi_130 = xi_128 * 0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); + const float xi_143 = xi_142 * 0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116 * 0.050000000000000003f; + const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const float xi_171 = omega_shear * xi_170; + const float xi_172 = xi_171 * 0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123 * 0.035714285714285712f; + const float xi_196 = xi_123 * 0.021428571428571429f; + const float xi_208 = xi_142 * 0.0625f; + const float xi_209 = xi_128 * 0.013888888888888888f; + const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; + const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123 * 0.0071428571428571426f; + const float xi_240 = xi_128 * 0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123 * 0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; } } } @@ -121,9 +408,11 @@ static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecision_streamcolli } // namespace internal_a263151a09bd9903959d48e17aef88f9 void StreamCollideSweepLeesEdwardsSinglePrecision::run(IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -134,9 +423,18 @@ void StreamCollideSweepLeesEdwardsSinglePrecision::run(IBlock *block) { } } - auto &omega_shear = this->omega_shear_; + auto &omega_even = this->omega_even_; auto &v_s = this->v_s_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &grid_size = this->grid_size_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; + auto &time_step = this->time_step_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -167,11 +465,13 @@ void StreamCollideSweepLeesEdwardsSinglePrecision::run(IBlock *block) { const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } void StreamCollideSweepLeesEdwardsSinglePrecision::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") CellInterval ci = globalCellInterval; CellInterval blockBB = blocks->getBlockCellBB(*block); @@ -181,8 +481,8 @@ void StreamCollideSweepLeesEdwardsSinglePrecision::runOnCellInterval(const share if (ci.empty()) return; - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -193,9 +493,18 @@ void StreamCollideSweepLeesEdwardsSinglePrecision::runOnCellInterval(const share } } - auto &omega_shear = this->omega_shear_; + auto &omega_even = this->omega_even_; auto &v_s = this->v_s_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &grid_size = this->grid_size_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; + auto &time_step = this->time_step_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) @@ -232,7 +541,7 @@ void StreamCollideSweepLeesEdwardsSinglePrecision::runOnCellInterval(const share const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.h index 70e132e274..71cb8c96cc 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" @@ -54,12 +54,15 @@ namespace pystencils { class StreamCollideSweepLeesEdwardsSinglePrecision { public: - StreamCollideSweepLeesEdwardsSinglePrecision(BlockDataID forceID_, - BlockDataID pdfsID_, - float grid_size, - float omega_shear, float v_s) - : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), - omega_shear_(omega_shear), v_s_(v_s) {} + StreamCollideSweepLeesEdwardsSinglePrecision( + BlockDataID forceID_, BlockDataID pdfsID_, float grid_size, float kT, + float omega_bulk, float omega_even, float omega_odd, float omega_shear, + uint32_t seed, uint32_t time_step, float v_s) + : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), kT_(kT), + omega_bulk_(omega_bulk), omega_even_(omega_even), omega_odd_(omega_odd), + omega_shear_(omega_shear), seed_(seed), time_step_(time_step), + v_s_(v_s), block_offset_0_(uint32_t(0)), block_offset_1_(uint32_t(0)), + block_offset_2_(uint32_t(0)), configured_(false) {} ~StreamCollideSweepLeesEdwardsSinglePrecision() { for (auto p : cache_pdfs_) { @@ -102,23 +105,64 @@ class StreamCollideSweepLeesEdwardsSinglePrecision { }; } - void configure(const shared_ptr & /*blocks*/, - IBlock * /*block*/) {} + void configure(const shared_ptr &blocks, + IBlock *block) { + Cell BlockCellBB = blocks->getBlockCellBB(*block).min(); + block_offset_0_ = uint32_t(BlockCellBB[0]); + block_offset_1_ = uint32_t(BlockCellBB[1]); + block_offset_2_ = uint32_t(BlockCellBB[2]); + configured_ = true; + } + inline uint32_t getBlock_offset_0() const { return block_offset_0_; } + inline uint32_t getBlock_offset_1() const { return block_offset_1_; } + inline uint32_t getBlock_offset_2() const { return block_offset_2_; } inline float getGrid_size() const { return grid_size_; } + inline float getKt() const { return kT_; } + inline float getOmega_bulk() const { return omega_bulk_; } + inline float getOmega_even() const { return omega_even_; } + inline float getOmega_odd() const { return omega_odd_; } inline float getOmega_shear() const { return omega_shear_; } + inline uint32_t getSeed() const { return seed_; } + inline uint32_t getTime_step() const { return time_step_; } inline float getV_s() const { return v_s_; } + inline void setBlock_offset_0(const uint32_t value) { + block_offset_0_ = value; + } + inline void setBlock_offset_1(const uint32_t value) { + block_offset_1_ = value; + } + inline void setBlock_offset_2(const uint32_t value) { + block_offset_2_ = value; + } inline void setGrid_size(const float value) { grid_size_ = value; } + inline void setKt(const float value) { kT_ = value; } + inline void setOmega_bulk(const float value) { omega_bulk_ = value; } + inline void setOmega_even(const float value) { omega_even_ = value; } + inline void setOmega_odd(const float value) { omega_odd_ = value; } inline void setOmega_shear(const float value) { omega_shear_ = value; } + inline void setSeed(const uint32_t value) { seed_ = value; } + inline void setTime_step(const uint32_t value) { time_step_ = value; } inline void setV_s(const float value) { v_s_ = value; } private: BlockDataID forceID; BlockDataID pdfsID; + uint32_t block_offset_0_; + uint32_t block_offset_1_; + uint32_t block_offset_2_; float grid_size_; + float kT_; + float omega_bulk_; + float omega_even_; + float omega_odd_; float omega_shear_; + uint32_t seed_; + uint32_t time_step_; float v_s_; std::unordered_map *> cache_pdfs_; + + bool configured_; }; } // namespace pystencils diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp index 2eee1271a9..10cb3b6557 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -25,6 +25,8 @@ #include "core/DataTypes.h" #include "core/Macros.h" +#include "philox_rand.h" + #include #define FUNC_PREFIX @@ -48,13 +50,27 @@ namespace walberla { namespace pystencils { namespace internal_c275fa5bef4a1b9f30058dc82d50d3cf { -static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, float grid_size, float omega_shear, float v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) { #ifdef _OPENMP #pragma omp parallel #endif { - const float xi_0 = ((1.0f) / (omega_shear * -0.25f + 2.0f)); - const float rr_0 = xi_0 * (omega_shear * -2.0f + 4.0f); + const float xi_20 = omega_bulk * 0.5f; + const float xi_47 = omega_shear * 0.041666666666666664f; + const float xi_51 = omega_bulk * 0.041666666666666664f; + const float xi_62 = omega_shear * 0.125f; + const float xi_97 = 3.7416573867739413f; + const float xi_100 = 5.4772255750516612f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_150 = omega_odd * 0.25f; + const float xi_160 = omega_odd * 0.083333333333333329f; + const float xi_173 = 1.7320508075688772f; + const float xi_217 = omega_shear * 0.25f; + const float xi_223 = omega_odd * 0.041666666666666664f; + const float xi_226 = omega_odd * 0.125f; + const float rr_0 = 0.0f; + const float xi_45 = rr_0 * 0.041666666666666664f; #ifdef _OPENMP #pragma omp for schedule(static) #endif @@ -62,116 +78,658 @@ static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecisionavx_streamco for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { { for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 += 8) { - const __m256 vel0Term = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 vel1Term = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256 vel2Term = _mm256_add_ps(_mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 delta_rho = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(vel0Term, vel1Term), vel2Term), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + + __m256 random_3_0{}; + __m256 random_3_1{}; + __m256 random_3_2{}; + __m256 random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + __m256 random_2_0{}; + __m256 random_2_1{}; + __m256 random_2_2{}; + __m256 random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + __m256 random_1_0{}; + __m256 random_1_1{}; + __m256 random_1_2{}; + __m256 random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + __m256 random_0_0{}; + __m256 random_0_1{}; + __m256 random_0_2{}; + __m256 random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const __m256 xi_2 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_3 = _mm256_add_ps(_mm256_add_ps(xi_2, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_4 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_5 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_6 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_7 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_8 = _mm256_add_ps(xi_7, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_9 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_11 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_12 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_13 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_14 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_15 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_16 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_21 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_22 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_33 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_34 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_39 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 xi_40 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 xi_58 = _mm256_mul_ps(_mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_63 = _mm256_mul_ps(_mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_98 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_0); + const __m256 xi_101 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_2); + const __m256 xi_103 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_1); + const __m256 xi_108 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_1); + const __m256 xi_112 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])); + const __m256 xi_118 = _mm256_add_ps(xi_11, xi_3); + const __m256 xi_121 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); + const __m256 xi_124 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_125 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_126 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); + const __m256 xi_129 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256 xi_133 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_1); + const __m256 xi_137 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_138 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_139 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_140 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_145 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_146 = _mm256_add_ps(xi_14, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_147 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_148 = _mm256_add_ps(xi_147, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256 xi_149 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_145, xi_146), xi_148), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_151 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_3); + const __m256 xi_155 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_156 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_157 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_158 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); + const __m256 xi_159 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(xi_157, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_148), xi_155), xi_156), xi_158), xi_5); + const __m256 xi_161 = _mm256_mul_ps(xi_159, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); + const __m256 xi_162 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_2); + const __m256 xi_174 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_0); + const __m256 xi_185 = _mm256_add_ps(xi_15, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_186 = _mm256_add_ps(xi_138, xi_185); + const __m256 xi_187 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), xi_186), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_188 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_1); + const __m256 xi_189 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_190 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(xi_157, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_158, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_186, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_189, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_7, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_191 = _mm256_mul_ps(xi_190, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); + const __m256 xi_192 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_0); + const __m256 xi_198 = _mm256_add_ps(_mm256_add_ps(xi_145, xi_155), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); + const __m256 xi_199 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_198, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); + const __m256 xi_200 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_2); + const __m256 xi_201 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_124, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_125, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_126), xi_140), xi_198), xi_6); + const __m256 xi_202 = _mm256_mul_ps(xi_201, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); + const __m256 xi_203 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_3); + const __m256 xi_224 = _mm256_mul_ps(xi_159, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); + const __m256 xi_227 = _mm256_mul_ps(xi_149, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); + const __m256 xi_233 = _mm256_mul_ps(xi_201, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); + const __m256 xi_234 = _mm256_mul_ps(xi_199, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); + const __m256 xi_254 = _mm256_mul_ps(xi_187, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); + const __m256 xi_255 = _mm256_mul_ps(xi_190, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); + const __m256 xi_23 = _mm256_mul_ps(xi_22, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); + const __m256 xi_35 = _mm256_mul_ps(xi_34, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); + const __m256 xi_41 = _mm256_mul_ps(xi_40, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); + const __m256 xi_46 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_50 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_72 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 vel0Term = _mm256_add_ps(xi_3, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); + const __m256 vel1Term = _mm256_add_ps(xi_4, xi_5); + const __m256 vel2Term = _mm256_add_ps(xi_6, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 delta_rho = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(vel0Term, vel1Term), vel2Term), xi_8), xi_9), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); const __m256 rho = _mm256_add_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), delta_rho); - const __m256 xi_1 = _mm256_div_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), rho); - const __m256 u_0 = _mm256_add_ps(_mm256_mul_ps(xi_1, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), vel0Term)), _mm256_mul_ps(_mm256_mul_ps(xi_1, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256 u_1 = _mm256_add_ps(_mm256_mul_ps(xi_1, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), vel1Term), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(xi_1, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 u_2 = _mm256_add_ps(_mm256_mul_ps(xi_1, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), vel2Term), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(xi_1, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_0 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_1 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 forceTerm_2 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 forceTerm_3 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256 forceTerm_4 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256 forceTerm_5 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_6 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_7 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 forceTerm_8 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 forceTerm_9 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 forceTerm_10 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 forceTerm_11 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_12 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_13 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_14 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_15 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_16 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_17 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f, -0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 forceTerm_18 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f, -0.25f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 u0Mu1 = _mm256_add_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), u_0); - const __m256 u0Pu1 = _mm256_add_ps(u_0, u_1); - const __m256 u1Pu2 = _mm256_add_ps(u_1, u_2); - const __m256 u1Mu2 = _mm256_add_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), u_1); - const __m256 u0Mu2 = _mm256_add_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), u_0); - const __m256 u0Pu2 = _mm256_add_ps(u_0, u_2); - const __m256 f_eq_common = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(u_0, u_0)), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(u_1, u_1))), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(u_2, u_2))), delta_rho); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), forceTerm_0), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u_1), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f))), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(u_1, u_1))))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s))), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_1), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u_1), _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f))), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(u_1, u_1))))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s))), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ))), forceTerm_2), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u_0), _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f))), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(u_0, u_0))))), forceTerm_3), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u_0), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f))), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(u_0, u_0))))), forceTerm_4), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u_2), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f))), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(u_2, u_2))))), forceTerm_5), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u_2), _mm256_set_ps(-0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f, -0.16666666666666666f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f, -0.1111111111111111f))), _mm256_mul_ps(_mm256_mul_ps(rho, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(u_2, u_2))))), forceTerm_6), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Mu1), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Mu1, u0Mu1)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_2, u_2))))))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_1, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f))), _mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_7), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Pu1), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Pu1, u0Pu1)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_2, u_2))))))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f))), _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_8), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Pu1), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Pu1, u0Pu1)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_2, u_2))))))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f))), _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ))), forceTerm_9), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Mu1), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Mu1, u0Mu1)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_2, u_2))))))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ))), forceTerm_10), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u1Pu2), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u1Pu2, u1Pu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_0, u_0))))))), forceTerm_11), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u1Mu2), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u1Mu2, u1Mu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_0, u_0))))))), forceTerm_12), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Mu2), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Mu2, u0Mu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_1, u_1))))))), forceTerm_13), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Pu2), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Pu2, u0Pu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_1, u_1))))))), forceTerm_14), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u1Mu2), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u1Mu2, u1Mu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_0, u_0))))))), forceTerm_15), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, u1Pu2), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u1Pu2, u1Pu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_0, u_0))))))), forceTerm_16), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Pu2), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Pu2, u0Pu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_1, u_1))))))), forceTerm_17), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, u0Mu2), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)), _mm256_mul_ps(_mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear), _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(f_eq_common, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(delta_rho, _mm256_set_ps(-0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f, -0.013888888888888888f))), _mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f), _mm256_mul_ps(u0Mu2, u0Mu2)), _mm256_mul_ps(_mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f), _mm256_mul_ps(u_1, u_1))))))), forceTerm_18), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); + const __m256 xi_95 = _mm256_mul_ps(rho, _mm256_set_ps(kT, kT, kT, kT, kT, kT, kT, kT)); + const __m256 xi_96 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); + const __m256 xi_99 = _mm256_mul_ps(_mm256_mul_ps(xi_96, xi_98), _mm256_set_ps(xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97)); + const __m256 xi_102 = _mm256_mul_ps(_mm256_mul_ps(xi_101, xi_96), _mm256_set_ps(xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100)); + const __m256 xi_105 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); + const __m256 xi_106 = _mm256_mul_ps(_mm256_mul_ps(xi_103, xi_105), _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104)); + const __m256 xi_109 = _mm256_mul_ps(_mm256_mul_ps(xi_108, xi_96), _mm256_set_ps(xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107)); + const __m256 xi_131 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f)); + const __m256 xi_134 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); + const __m256 xi_135 = _mm256_mul_ps(xi_134, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); + const __m256 xi_136 = _mm256_mul_ps(xi_133, xi_135); + const __m256 xi_152 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); + const __m256 xi_153 = _mm256_mul_ps(xi_152, _mm256_set_ps(1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f)); + const __m256 xi_154 = _mm256_mul_ps(xi_153, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); + const __m256 xi_163 = _mm256_mul_ps(xi_152, _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104)); + const __m256 xi_164 = _mm256_mul_ps(xi_163, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); + const __m256 xi_165 = _mm256_mul_ps(xi_162, xi_164); + const __m256 xi_166 = _mm256_add_ps(xi_161, xi_165); + const __m256 xi_167 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_149, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_151, xi_154)), xi_166); + const __m256 xi_169 = _mm256_mul_ps(xi_102, _mm256_set_ps(0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f)); + const __m256 xi_175 = _mm256_mul_ps(_mm256_mul_ps(xi_134, xi_174), _mm256_set_ps(xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173)); + const __m256 xi_176 = _mm256_mul_ps(xi_175, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); + const __m256 xi_184 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f)); + const __m256 xi_193 = _mm256_mul_ps(xi_164, xi_192); + const __m256 xi_194 = _mm256_add_ps(xi_191, xi_193); + const __m256 xi_195 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_187, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_154, xi_188)), xi_194); + const __m256 xi_197 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f)); + const __m256 xi_204 = _mm256_mul_ps(xi_164, xi_203); + const __m256 xi_205 = _mm256_add_ps(xi_202, xi_204); + const __m256 xi_206 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_199, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_154, xi_200)), xi_205); + const __m256 xi_207 = _mm256_mul_ps(_mm256_mul_ps(xi_133, xi_134), _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); + const __m256 xi_210 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); + const __m256 xi_214 = _mm256_add_ps(_mm256_mul_ps(xi_191, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_193, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_215 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_2)); + const __m256 xi_222 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_0)); + const __m256 xi_228 = _mm256_mul_ps(xi_163, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); + const __m256 xi_229 = _mm256_mul_ps(xi_162, xi_228); + const __m256 xi_230 = _mm256_mul_ps(xi_153, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); + const __m256 xi_231 = _mm256_mul_ps(xi_151, xi_230); + const __m256 xi_235 = _mm256_mul_ps(xi_203, xi_228); + const __m256 xi_236 = _mm256_mul_ps(xi_200, xi_230); + const __m256 xi_237 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_233, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_235, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_234), xi_236); + const __m256 xi_239 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)); + const __m256 xi_241 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f)); + const __m256 xi_244 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_234, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_236, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_233), xi_235); + const __m256 xi_246 = _mm256_mul_ps(xi_207, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); + const __m256 xi_249 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f)); + const __m256 xi_251 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_3)); + const __m256 xi_256 = _mm256_mul_ps(xi_188, xi_230); + const __m256 xi_257 = _mm256_mul_ps(xi_192, xi_228); + const __m256 xi_258 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_254, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_256, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_255), xi_257); + const __m256 xi_260 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_255, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_257, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_254), xi_256); + const __m256 xi_0 = _mm256_div_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), rho); + const __m256 xi_10 = _mm256_mul_ps(xi_0, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); + const __m256 u_0 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_11, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_8, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), vel0Term)), _mm256_mul_ps(xi_10, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); + const __m256 xi_17 = _mm256_mul_ps(u_0, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_28 = _mm256_mul_ps(xi_17, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); + const __m256 xi_29 = _mm256_mul_ps(xi_28, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); + const __m256 xi_30 = _mm256_mul_ps(xi_17, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); + const __m256 xi_31 = _mm256_add_ps(_mm256_mul_ps(xi_30, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), xi_29); + const __m256 xi_48 = _mm256_add_ps(_mm256_mul_ps(xi_17, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_29); + const __m256 xi_49 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_46, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_34), xi_48); + const __m256 xi_52 = _mm256_mul_ps(xi_17, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); + const __m256 xi_59 = _mm256_mul_ps(u_0, xi_58); + const __m256 xi_64 = _mm256_mul_ps(u_0, xi_63); + const __m256 xi_68 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_34, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_46), xi_48); + const __m256 xi_75 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_85 = _mm256_mul_ps(u_0, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 xi_86 = _mm256_mul_ps(xi_85, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); + const __m256 xi_89 = _mm256_mul_ps(xi_85, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); + const __m256 xi_111 = _mm256_mul_ps(u_0, u_0); + const __m256 u_1 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_12, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_13, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_9, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), vel1Term)), _mm256_mul_ps(xi_10, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); + const __m256 xi_18 = _mm256_mul_ps(u_1, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_26 = _mm256_mul_ps(xi_18, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); + const __m256 xi_36 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_42 = _mm256_mul_ps(xi_26, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); + const __m256 xi_43 = _mm256_mul_ps(xi_18, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); + const __m256 xi_53 = _mm256_mul_ps(xi_18, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); + const __m256 xi_60 = _mm256_mul_ps(u_1, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); + const __m256 xi_61 = _mm256_mul_ps(xi_60, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_65 = _mm256_mul_ps(u_1, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); + const __m256 xi_66 = _mm256_mul_ps(xi_65, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_67 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_64, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_66, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_59), xi_61); + const __m256 xi_69 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_59, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_61, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_64), xi_66); + const __m256 xi_77 = _mm256_mul_ps(xi_60, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 xi_79 = _mm256_mul_ps(xi_65, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 xi_110 = _mm256_mul_ps(rho, _mm256_mul_ps(u_1, u_1)); + const __m256 xi_117 = _mm256_mul_ps(xi_110, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); + const __m256 xi_216 = _mm256_mul_ps(rho, u_1); + const __m256 xi_218 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(u_0, xi_216)), xi_12), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); + const __m256 xi_219 = _mm256_add_ps(_mm256_mul_ps(xi_215, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_218, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_220 = _mm256_add_ps(xi_215, xi_218); + const __m256 u_2 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_14, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_15, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_16, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), vel2Term)), _mm256_mul_ps(xi_10, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); + const __m256 xi_19 = _mm256_mul_ps(u_2, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 xi_24 = _mm256_mul_ps(xi_19, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); + const __m256 xi_25 = _mm256_mul_ps(xi_24, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); + const __m256 xi_27 = _mm256_mul_ps(xi_19, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); + const __m256 xi_32 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(xi_27, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(xi_26, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), xi_25), xi_31); + const __m256 xi_37 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); + const __m256 xi_38 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_28, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), xi_24), xi_26), xi_36), xi_37); + const __m256 xi_44 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_19, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(xi_43, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(xi_24, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), xi_31), xi_42); + const __m256 xi_54 = _mm256_mul_ps(xi_19, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); + const __m256 xi_55 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_42), xi_52), xi_53), xi_54); + const __m256 xi_56 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_22, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_50), xi_55); + const __m256 xi_57 = _mm256_add_ps(_mm256_add_ps(xi_27, xi_37), xi_56); + const __m256 xi_70 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_50, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_22), xi_55); + const __m256 xi_71 = _mm256_add_ps(_mm256_add_ps(xi_27, xi_37), xi_70); + const __m256 xi_73 = _mm256_add_ps(_mm256_mul_ps(xi_19, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_25); + const __m256 xi_74 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_40, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_72), xi_73); + const __m256 xi_76 = _mm256_add_ps(_mm256_add_ps(xi_30, xi_56), xi_75); + const __m256 xi_78 = _mm256_mul_ps(u_2, xi_58); + const __m256 xi_80 = _mm256_mul_ps(u_2, xi_63); + const __m256 xi_81 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_77, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_78, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_79), xi_80); + const __m256 xi_82 = _mm256_add_ps(_mm256_add_ps(xi_30, xi_70), xi_75); + const __m256 xi_83 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_79, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_80, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_77), xi_78); + const __m256 xi_84 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36, xi_43), xi_52), xi_53), xi_54), xi_74); + const __m256 xi_87 = _mm256_mul_ps(u_2, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); + const __m256 xi_88 = _mm256_mul_ps(xi_87, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); + const __m256 xi_90 = _mm256_mul_ps(xi_87, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); + const __m256 xi_91 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_89, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_90, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_86), xi_88); + const __m256 xi_92 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_86, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_88, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_89), xi_90); + const __m256 xi_93 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_72, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_40), xi_73); + const __m256 xi_94 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36, xi_43), xi_52), xi_53), xi_54), xi_93); + const __m256 xi_113 = _mm256_mul_ps(rho, _mm256_mul_ps(u_2, u_2)); + const __m256 xi_114 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_113, _mm256_set_ps(0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f))), xi_112); + const __m256 xi_115 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_110, _mm256_set_ps(0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, xi_111), _mm256_set_ps(1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f))), xi_114); + const __m256 xi_116 = _mm256_mul_ps(xi_115, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); + const __m256 xi_119 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_112, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_117, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_118, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_13, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_16, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_5, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(rho, xi_111)), xi_113); + const __m256 xi_120 = _mm256_mul_ps(xi_119, _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)); + const __m256 xi_122 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_110, _mm256_set_ps(2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f)), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), xi_114), xi_121); + const __m256 xi_123 = _mm256_mul_ps(xi_122, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); + const __m256 xi_127 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_113, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f)), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), xi_112), xi_121), xi_124), xi_125), xi_126); + const __m256 xi_128 = _mm256_mul_ps(xi_127, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); + const __m256 xi_130 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f)); + const __m256 xi_132 = _mm256_add_ps(xi_130, xi_131); + const __m256 xi_141 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_113, xi_139), xi_140), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_142 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_117, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_137, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_138, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_141, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_15, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_2, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_4, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)); + const __m256 xi_143 = _mm256_mul_ps(xi_142, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)); + const __m256 xi_144 = _mm256_add_ps(_mm256_mul_ps(xi_136, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_143, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_168 = _mm256_mul_ps(xi_116, _mm256_set_ps(0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f)); + const __m256 xi_170 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_110, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_118, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_129, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_141, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_147, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, xi_111), _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))); + const __m256 xi_171 = _mm256_mul_ps(xi_170, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)); + const __m256 xi_172 = _mm256_mul_ps(xi_171, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)); + const __m256 xi_177 = _mm256_add_ps(xi_172, xi_176); + const __m256 xi_178 = _mm256_add_ps(_mm256_add_ps(xi_168, xi_169), xi_177); + const __m256 xi_179 = _mm256_add_ps(_mm256_mul_ps(xi_130, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_131, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_180 = _mm256_add_ps(xi_136, xi_143); + const __m256 xi_181 = _mm256_add_ps(_mm256_mul_ps(xi_172, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_176, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_182 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_168, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_169, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_181); + const __m256 xi_183 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f)); + const __m256 xi_196 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f)); + const __m256 xi_208 = _mm256_mul_ps(xi_142, _mm256_set_ps(0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f)); + const __m256 xi_209 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f)); + const __m256 xi_211 = _mm256_add_ps(_mm256_mul_ps(xi_120, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(xi_106, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))); + const __m256 xi_212 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171, _mm256_set_ps(0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f)), _mm256_mul_ps(xi_175, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), xi_211); + const __m256 xi_213 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_166, xi_207), xi_208), xi_209), xi_210), xi_212); + const __m256 xi_221 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_161, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_165, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_207), xi_208), xi_209), xi_210), xi_212); + const __m256 xi_225 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(u_2, xi_216), xi_146), xi_155), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); + const __m256 xi_232 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_224, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_229, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_222), xi_225), xi_227), xi_231); + const __m256 xi_238 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f)); + const __m256 xi_240 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f)); + const __m256 xi_242 = _mm256_add_ps(_mm256_mul_ps(xi_240, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_241, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_243 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_116, _mm256_set_ps(0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f)), _mm256_mul_ps(xi_102, _mm256_set_ps(0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f))), _mm256_mul_ps(xi_238, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_239, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_181), xi_211), xi_242); + const __m256 xi_245 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(xi_115, _mm256_set_ps(-0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_mul_ps(_mm256_mul_ps(xi_119, _mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f)), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_101, xi_96), _mm256_set_ps(-0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f)), _mm256_set_ps(xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_103, xi_105), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104))), xi_177), xi_238), xi_239), xi_240), xi_241); + const __m256 xi_247 = _mm256_mul_ps(xi_208, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); + const __m256 xi_248 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f)); + const __m256 xi_250 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_205, xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); + const __m256 xi_252 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(rho, u_0), u_2), xi_137), xi_185), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); + const __m256 xi_253 = _mm256_add_ps(_mm256_mul_ps(xi_251, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_252, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 xi_259 = _mm256_add_ps(xi_251, xi_252); + const __m256 xi_261 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_227, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_231, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_222), xi_224), xi_225), xi_229); + const __m256 xi_262 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_202, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_204, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); + const __m256 forceTerm_0 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_17, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_18, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_19, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_17, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))), _mm256_mul_ps(xi_18, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))), _mm256_mul_ps(xi_19, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))); + const __m256 forceTerm_1 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_23, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_21), xi_32); + const __m256 forceTerm_2 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_21, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_23), xi_32); + const __m256 forceTerm_3 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_33, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_38, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_35); + const __m256 forceTerm_4 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_35, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_38, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_33); + const __m256 forceTerm_5 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_41, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_39), xi_44); + const __m256 forceTerm_6 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_39, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_41), xi_44); + const __m256 forceTerm_7 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_57, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_67, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_8 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_57, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_69, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_9 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_69, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_71, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_10 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_67, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_71, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_11 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_76, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_81, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_12 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_82, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_83, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_13 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_84, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_91, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_14 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_84, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_92, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_15 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_76, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_83, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_93, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_16 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_81, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_82, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_93, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_17 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_92, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_94, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + const __m256 forceTerm_18 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_91, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_94, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128, _mm256_set_ps(0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f)), _mm256_mul_ps(xi_99, _mm256_set_ps(0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f))), _mm256_mul_ps(xi_123, _mm256_set_ps(0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f))), _mm256_mul_ps(xi_109, _mm256_set_ps(0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f))), _mm256_mul_ps(xi_116, _mm256_set_ps(0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f))), _mm256_mul_ps(xi_102, _mm256_set_ps(0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f))), _mm256_mul_ps(xi_120, _mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f))), _mm256_mul_ps(xi_106, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_0), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_129, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_132, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_144, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_167, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_178, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_122, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_108, xi_96), _mm256_set_ps(0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f)), _mm256_set_ps(xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107))), forceTerm_1)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_123, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)), _mm256_mul_ps(xi_109, _mm256_set_ps(0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f))), forceTerm_2), xi_167), xi_179), xi_180), xi_182), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_mul_ps(xi_175, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f))), _mm256_mul_ps(xi_183, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_184, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_3), xi_179), xi_195), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_132, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_183, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_184, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_189, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_195, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_170, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_134, xi_174), _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_set_ps(xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173))), forceTerm_4)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_178, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_180, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_196, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_197, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_206, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_127, _mm256_set_ps(0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_96, xi_98), _mm256_set_ps(0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f)), _mm256_set_ps(xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s))), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_5)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128, _mm256_set_ps(0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f)), _mm256_mul_ps(xi_99, _mm256_set_ps(0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f))), _mm256_mul_ps(xi_196, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_197, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s))), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ))), forceTerm_6), xi_144), xi_182), xi_206), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_7, xi_213), xi_214), xi_219), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_8, xi_194), xi_213), xi_220), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_9, xi_214), xi_220), xi_221), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_10, xi_194), xi_219), xi_221), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_1, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f))), _mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ)), forceTerm_11), xi_232), xi_237), xi_243), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_156, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_232, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_244, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_245, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f))), _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_12)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f))), _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ)), forceTerm_13), xi_250), xi_253), xi_258), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ)), forceTerm_14), xi_250), xi_259), xi_260), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_145, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_237, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_245, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_261, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_15)); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_16, xi_243), xi_244), xi_261), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_17, xi_258), xi_259), xi_262), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_18, xi_253), xi_260), xi_262), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); } for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - const float vel0Term = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const float vel1Term = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const float vel2Term = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const float delta_rho = vel0Term + vel1Term + vel2Term + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const float xi_2 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_4 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_5 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + const float xi_6 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; + const float xi_7 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_9 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + const float xi_11 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_12 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_13 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; + const float xi_14 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + const float xi_15 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_16 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_58 = 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_63 = xi_62 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_98 = random_3_0 - 0.5f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_129 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_138 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_139 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; + const float xi_140 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; + const float xi_145 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; + const float xi_147 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + const float xi_156 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; + const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_161 = xi_159 * xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_191 = xi_160 * xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160 * xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_224 = xi_159 * xi_223; + const float xi_227 = xi_149 * xi_226; + const float xi_233 = xi_201 * xi_223; + const float xi_234 = xi_199 * xi_226; + const float xi_254 = xi_187 * xi_226; + const float xi_255 = xi_190 * xi_223; + const float xi_23 = rr_0 * xi_22; + const float xi_35 = rr_0 * xi_34; + const float xi_41 = rr_0 * xi_40; + const float xi_46 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_50 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_72 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; const float rho = delta_rho + 1.0f; - const float xi_1 = ((1.0f) / (rho)); - const float u_0 = xi_1 * (vel0Term - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + xi_1 * 0.5f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float u_1 = xi_1 * (vel1Term - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + xi_1 * 0.5f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float u_2 = xi_1 * (vel2Term - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + xi_1 * 0.5f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float forceTerm_0 = omega_shear * u_0 * 0.5f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.5f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.5f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] - u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] - u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float forceTerm_1 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float forceTerm_2 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float forceTerm_3 = omega_shear * u_0 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float forceTerm_4 = omega_shear * u_0 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float forceTerm_5 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float forceTerm_6 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float forceTerm_7 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float forceTerm_8 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float forceTerm_9 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float forceTerm_10 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float forceTerm_11 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float forceTerm_12 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float forceTerm_13 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float forceTerm_14 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float forceTerm_15 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float forceTerm_16 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_1 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float forceTerm_17 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_0 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_2 * 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float forceTerm_18 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + u_0 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0] + u_2 * -0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + u_2 * 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] - 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0] + 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float u0Mu1 = u_0 - u_1; - const float u0Pu1 = u_0 + u_1; - const float u1Pu2 = u_1 + u_2; - const float u1Mu2 = u_1 - u_2; - const float u0Mu2 = u_0 - u_2; - const float u0Pu2 = u_0 + u_2; - const float f_eq_common = delta_rho - rho * (u_0 * u_0) - rho * (u_1 * u_1) - rho * (u_2 * u_2); - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + omega_shear * (f_eq_common * 0.33333333333333331f - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_1 * u_1) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_1 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_1 * u_1) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_1 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_0 * u_0) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u_0 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_0 * u_0) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u_0 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_2 * u_2) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_2 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_2 * u_2) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u_2 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Mu1 * u0Mu1)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu1 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Pu1 * u0Pu1)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu1 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Pu1 * u0Pu1)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu1 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Mu1 * u0Mu1)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu1 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Pu2 * u1Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Pu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Mu2 * u1Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Mu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Mu2 * u0Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Pu2 * u0Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Mu2 * u1Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Mu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Pu2 * u1Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + rr_0 * (rho * u1Pu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Pu2 * u0Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]) + rr_0 * (rho * u0Pu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Mu2 * u0Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]) + rr_0 * (rho * u0Mu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + 0.5f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_95 = kT * rho; + const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96 * xi_97 * xi_98; + const float xi_102 = xi_100 * xi_101 * xi_96; + const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103 * xi_104 * xi_105; + const float xi_109 = xi_107 * xi_108 * xi_96; + const float xi_131 = xi_99 * 0.11904761904761904f; + const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134 * 0.5f; + const float xi_136 = xi_133 * xi_135; + const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152 * 1.4142135623730951f; + const float xi_154 = xi_153 * 0.5f; + const float xi_163 = xi_104 * xi_152; + const float xi_164 = xi_163 * 0.16666666666666666f; + const float xi_165 = xi_162 * xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; + const float xi_169 = xi_102 * 0.10000000000000001f; + const float xi_175 = xi_134 * xi_173 * xi_174; + const float xi_176 = xi_175 * 0.16666666666666666f; + const float xi_184 = xi_109 * 0.071428571428571425f; + const float xi_193 = xi_164 * xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; + const float xi_197 = xi_109 * 0.042857142857142858f; + const float xi_204 = xi_164 * xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; + const float xi_207 = xi_133 * xi_134 * 0.25f; + const float xi_210 = xi_99 * 0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135 * (random_0_2 - 0.5f); + const float xi_222 = xi_135 * (random_1_0 - 0.5f); + const float xi_228 = xi_163 * 0.083333333333333329f; + const float xi_229 = xi_162 * xi_228; + const float xi_230 = xi_153 * 0.25f; + const float xi_231 = xi_151 * xi_230; + const float xi_235 = xi_203 * xi_228; + const float xi_236 = xi_200 * xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109 * 0.014285714285714285f; + const float xi_241 = xi_99 * 0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109 * 0.035714285714285712f; + const float xi_251 = xi_135 * (random_0_3 - 0.5f); + const float xi_256 = xi_188 * xi_230; + const float xi_257 = xi_192 * xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0 * 0.5f; + const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_17 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_28 = xi_17 * 0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17 * 0.083333333333333329f; + const float xi_31 = omega_shear * xi_30 + xi_29; + const float xi_48 = xi_17 * xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17 * xi_51; + const float xi_59 = u_0 * xi_58; + const float xi_64 = u_0 * xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_85 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_86 = xi_85 * 0.25f; + const float xi_89 = xi_62 * xi_85; + const float xi_111 = (u_0 * u_0); + const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_18 = u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_26 = xi_18 * 0.16666666666666666f; + const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18 * 0.083333333333333329f; + const float xi_53 = xi_18 * xi_51; + const float xi_60 = u_1 * 0.25f; + const float xi_61 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_65 = u_1 * xi_62; + const float xi_66 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_79 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_110 = rho * (u_1 * u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho * u_1; + const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_19 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_24 = xi_19 * 0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19 * 0.083333333333333329f; + const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; + const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19 * xi_51; + const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19 * xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2 * xi_58; + const float xi_80 = u_2 * xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; + const float xi_88 = xi_87 * 0.25f; + const float xi_90 = xi_62 * xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho * (u_2 * u_2); + const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; + const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_116 = omega_even * xi_115; + const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk * xi_119; + const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + const float xi_123 = omega_even * xi_122; + const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 4.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_128 = omega_even * xi_127; + const float xi_130 = xi_128 * 0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]); + const float xi_143 = xi_142 * 0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116 * 0.050000000000000003f; + const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + const float xi_171 = omega_shear * xi_170; + const float xi_172 = xi_171 * 0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123 * 0.035714285714285712f; + const float xi_196 = xi_123 * 0.021428571428571429f; + const float xi_208 = xi_142 * 0.0625f; + const float xi_209 = xi_128 * 0.013888888888888888f; + const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; + const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123 * 0.0071428571428571426f; + const float xi_240 = xi_128 * 0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123 * 0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; } } } @@ -181,9 +739,11 @@ static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecisionavx_streamco } // namespace internal_c275fa5bef4a1b9f30058dc82d50d3cf void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::run(IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -194,9 +754,18 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::run(IBlock *block) { } } - auto &omega_shear = this->omega_shear_; + auto &omega_even = this->omega_even_; auto &v_s = this->v_s_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &grid_size = this->grid_size_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; + auto &time_step = this->time_step_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -230,11 +799,13 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::run(IBlock *block) { const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") CellInterval ci = globalCellInterval; CellInterval blockBB = blocks->getBlockCellBB(*block); @@ -244,8 +815,8 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::runOnCellInterval(const sh if (ci.empty()) return; - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -256,9 +827,18 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::runOnCellInterval(const sh } } - auto &omega_shear = this->omega_shear_; + auto &omega_even = this->omega_even_; auto &v_s = this->v_s_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &grid_size = this->grid_size_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; + auto &time_step = this->time_step_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) @@ -298,7 +878,7 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::runOnCellInterval(const sh const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.h index d71bf52e6a..06cc5d816e 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" @@ -54,12 +54,15 @@ namespace pystencils { class StreamCollideSweepLeesEdwardsSinglePrecisionAVX { public: - StreamCollideSweepLeesEdwardsSinglePrecisionAVX(BlockDataID forceID_, - BlockDataID pdfsID_, - float grid_size, - float omega_shear, float v_s) - : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), - omega_shear_(omega_shear), v_s_(v_s) {} + StreamCollideSweepLeesEdwardsSinglePrecisionAVX( + BlockDataID forceID_, BlockDataID pdfsID_, float grid_size, float kT, + float omega_bulk, float omega_even, float omega_odd, float omega_shear, + uint32_t seed, uint32_t time_step, float v_s) + : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), kT_(kT), + omega_bulk_(omega_bulk), omega_even_(omega_even), omega_odd_(omega_odd), + omega_shear_(omega_shear), seed_(seed), time_step_(time_step), + v_s_(v_s), block_offset_0_(uint32_t(0)), block_offset_1_(uint32_t(0)), + block_offset_2_(uint32_t(0)), configured_(false) {} ~StreamCollideSweepLeesEdwardsSinglePrecisionAVX() { for (auto p : cache_pdfs_) { @@ -103,23 +106,64 @@ class StreamCollideSweepLeesEdwardsSinglePrecisionAVX { }; } - void configure(const shared_ptr & /*blocks*/, - IBlock * /*block*/) {} + void configure(const shared_ptr &blocks, + IBlock *block) { + Cell BlockCellBB = blocks->getBlockCellBB(*block).min(); + block_offset_0_ = uint32_t(BlockCellBB[0]); + block_offset_1_ = uint32_t(BlockCellBB[1]); + block_offset_2_ = uint32_t(BlockCellBB[2]); + configured_ = true; + } + inline uint32_t getBlock_offset_0() const { return block_offset_0_; } + inline uint32_t getBlock_offset_1() const { return block_offset_1_; } + inline uint32_t getBlock_offset_2() const { return block_offset_2_; } inline float getGrid_size() const { return grid_size_; } + inline float getKt() const { return kT_; } + inline float getOmega_bulk() const { return omega_bulk_; } + inline float getOmega_even() const { return omega_even_; } + inline float getOmega_odd() const { return omega_odd_; } inline float getOmega_shear() const { return omega_shear_; } + inline uint32_t getSeed() const { return seed_; } + inline uint32_t getTime_step() const { return time_step_; } inline float getV_s() const { return v_s_; } + inline void setBlock_offset_0(const uint32_t value) { + block_offset_0_ = value; + } + inline void setBlock_offset_1(const uint32_t value) { + block_offset_1_ = value; + } + inline void setBlock_offset_2(const uint32_t value) { + block_offset_2_ = value; + } inline void setGrid_size(const float value) { grid_size_ = value; } + inline void setKt(const float value) { kT_ = value; } + inline void setOmega_bulk(const float value) { omega_bulk_ = value; } + inline void setOmega_even(const float value) { omega_even_ = value; } + inline void setOmega_odd(const float value) { omega_odd_ = value; } inline void setOmega_shear(const float value) { omega_shear_ = value; } + inline void setSeed(const uint32_t value) { seed_ = value; } + inline void setTime_step(const uint32_t value) { time_step_ = value; } inline void setV_s(const float value) { v_s_ = value; } private: BlockDataID forceID; BlockDataID pdfsID; + uint32_t block_offset_0_; + uint32_t block_offset_1_; + uint32_t block_offset_2_; float grid_size_; + float kT_; + float omega_bulk_; + float omega_even_; + float omega_odd_; float omega_shear_; + uint32_t seed_; + uint32_t time_step_; float v_s_; std::unordered_map *> cache_pdfs_; + + bool configured_; }; } // namespace pystencils diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu index 3d7dd6fa09..5207f52655 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -25,6 +25,8 @@ #include "core/DataTypes.h" #include "core/Macros.h" +#include "philox_rand.h" + #define FUNC_PREFIX __global__ #if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) @@ -46,75 +48,362 @@ namespace walberla { namespace pystencils { namespace internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda { -static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, float grid_size, float omega_shear, float v_s) { +static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) { if (blockDim.x * blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y * blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z * blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) { const int64_t ctr_0 = blockDim.x * blockIdx.x + threadIdx.x + 1; const int64_t ctr_1 = blockDim.y * blockIdx.y + threadIdx.y + 1; const int64_t ctr_2 = blockDim.z * blockIdx.z + threadIdx.z + 1; - const float xi_0 = ((1.0f) / (omega_shear * -0.25f + 2.0f)); - const float rr_0 = xi_0 * (omega_shear * -2.0f + 4.0f); - const float vel0Term = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float vel1Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float vel2Term = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float delta_rho = vel0Term + vel1Term + vel2Term + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const float xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const float xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const float xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + const float xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const float xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const float xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const float xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_20 = omega_bulk * 0.5f; + const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_47 = omega_shear * 0.041666666666666664f; + const float xi_51 = omega_bulk * 0.041666666666666664f; + const float xi_58 = 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_62 = omega_shear * 0.125f; + const float xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_97 = 3.7416573867739413f; + const float xi_98 = random_3_0 - 0.5f; + const float xi_100 = 5.4772255750516612f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const float xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const float xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const float xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const float xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const float xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const float xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_150 = omega_odd * 0.25f; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + const float xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; + const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_160 = omega_odd * 0.083333333333333329f; + const float xi_161 = xi_159 * xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_173 = 1.7320508075688772f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_191 = xi_160 * xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160 * xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_217 = omega_shear * 0.25f; + const float xi_223 = omega_odd * 0.041666666666666664f; + const float xi_224 = xi_159 * xi_223; + const float xi_226 = omega_odd * 0.125f; + const float xi_227 = xi_149 * xi_226; + const float xi_233 = xi_201 * xi_223; + const float xi_234 = xi_199 * xi_226; + const float xi_254 = xi_187 * xi_226; + const float xi_255 = xi_190 * xi_223; + const float rr_0 = 0.0f; + const float xi_23 = rr_0 * xi_22; + const float xi_35 = rr_0 * xi_34; + const float xi_41 = rr_0 * xi_40; + const float xi_45 = rr_0 * 0.041666666666666664f; + const float xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; const float rho = delta_rho + 1.0f; - const float xi_1 = ((1.0f) / (rho)); - const float u_0 = xi_1 * (vel0Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + xi_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float u_1 = xi_1 * (vel1Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + xi_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float u_2 = xi_1 * (vel2Term - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + xi_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_0 = omega_shear * u_0 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.5f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_1 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_2 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_3 = omega_shear * u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_4 = omega_shear * u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_5 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_6 = omega_shear * u_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_7 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_8 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_9 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_10 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_2 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_11 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_12 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_13 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float forceTerm_14 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_15 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_16 = omega_shear * u_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_1 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_1 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float forceTerm_17 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * -0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_0 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_2 * 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float forceTerm_18 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + omega_shear * u_0 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_1 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + omega_shear * u_2 * 0.125f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * -0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + rr_0 * 0.041666666666666664f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + u_0 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3] + u_2 * -0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + u_2 * 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] - 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3] + 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float u0Mu1 = u_0 - u_1; - const float u0Pu1 = u_0 + u_1; - const float u1Pu2 = u_1 + u_2; - const float u1Mu2 = u_1 - u_2; - const float u0Mu2 = u_0 - u_2; - const float u0Pu2 = u_0 + u_2; - const float f_eq_common = delta_rho - rho * u_0 * u_0 - rho * u_1 * u_1 - rho * u_2 * u_2; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + omega_shear * (f_eq_common * 0.33333333333333331f - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_1 * u_1) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_1 * u_1) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + rr_0 * (rho * u_1 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_0 * u_0) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_0 * u_0) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]) + rr_0 * (rho * u_0 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_2 * u_2) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * 0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + omega_shear * (delta_rho * -0.1111111111111111f + f_eq_common * 0.16666666666666666f + rho * 0.33333333333333331f * (u_2 * u_2) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + rr_0 * (rho * u_2 * -0.16666666666666666f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Mu1 * u0Mu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Pu1 * u0Pu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]) + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Pu1 * u0Pu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu1 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_2 * u_2) + 0.125f * (u0Mu1 * u0Mu1)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu1 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]) + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Pu2 * u1Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Mu2 * u1Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Mu2 * u0Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Pu2 * u0Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Mu2 * u1Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]) + rr_0 * (rho * u1Mu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_0 * u_0) + 0.125f * (u1Pu2 * u1Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + rr_0 * (rho * u1Pu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Pu2 * u0Pu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + rr_0 * (rho * u0Pu2 * -0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + omega_shear * (delta_rho * -0.013888888888888888f + f_eq_common * 0.041666666666666664f + rho * (0.041666666666666664f * (u_1 * u_1) + 0.125f * (u0Mu2 * u0Mu2)) - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + rr_0 * (rho * u0Mu2 * 0.083333333333333329f - 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + 0.5f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + const float xi_95 = kT * rho; + const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96 * xi_97 * xi_98; + const float xi_102 = xi_100 * xi_101 * xi_96; + const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103 * xi_104 * xi_105; + const float xi_109 = xi_107 * xi_108 * xi_96; + const float xi_131 = xi_99 * 0.11904761904761904f; + const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134 * 0.5f; + const float xi_136 = xi_133 * xi_135; + const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152 * 1.4142135623730951f; + const float xi_154 = xi_153 * 0.5f; + const float xi_163 = xi_104 * xi_152; + const float xi_164 = xi_163 * 0.16666666666666666f; + const float xi_165 = xi_162 * xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; + const float xi_169 = xi_102 * 0.10000000000000001f; + const float xi_175 = xi_134 * xi_173 * xi_174; + const float xi_176 = xi_175 * 0.16666666666666666f; + const float xi_184 = xi_109 * 0.071428571428571425f; + const float xi_193 = xi_164 * xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; + const float xi_197 = xi_109 * 0.042857142857142858f; + const float xi_204 = xi_164 * xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; + const float xi_207 = xi_133 * xi_134 * 0.25f; + const float xi_210 = xi_99 * 0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135 * (random_0_2 - 0.5f); + const float xi_222 = xi_135 * (random_1_0 - 0.5f); + const float xi_228 = xi_163 * 0.083333333333333329f; + const float xi_229 = xi_162 * xi_228; + const float xi_230 = xi_153 * 0.25f; + const float xi_231 = xi_151 * xi_230; + const float xi_235 = xi_203 * xi_228; + const float xi_236 = xi_200 * xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109 * 0.014285714285714285f; + const float xi_241 = xi_99 * 0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109 * 0.035714285714285712f; + const float xi_251 = xi_135 * (random_0_3 - 0.5f); + const float xi_256 = xi_188 * xi_230; + const float xi_257 = xi_192 * xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0 * 0.5f; + const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_28 = xi_17 * 0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17 * 0.083333333333333329f; + const float xi_31 = omega_shear * xi_30 + xi_29; + const float xi_48 = xi_17 * xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17 * xi_51; + const float xi_59 = u_0 * xi_58; + const float xi_64 = u_0 * xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_86 = xi_85 * 0.25f; + const float xi_89 = xi_62 * xi_85; + const float xi_111 = u_0 * u_0; + const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_26 = xi_18 * 0.16666666666666666f; + const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18 * 0.083333333333333329f; + const float xi_53 = xi_18 * xi_51; + const float xi_60 = u_1 * 0.25f; + const float xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_65 = u_1 * xi_62; + const float xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_110 = rho * (u_1 * u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho * u_1; + const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_24 = xi_19 * 0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19 * 0.083333333333333329f; + const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; + const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19 * xi_51; + const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19 * xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2 * xi_58; + const float xi_80 = u_2 * xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; + const float xi_88 = xi_87 * 0.25f; + const float xi_90 = xi_62 * xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho * (u_2 * u_2); + const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; + const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_116 = omega_even * xi_115; + const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk * xi_119; + const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + const float xi_123 = omega_even * xi_122; + const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; + const float xi_128 = omega_even * xi_127; + const float xi_130 = xi_128 * 0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); + const float xi_143 = xi_142 * 0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116 * 0.050000000000000003f; + const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + const float xi_171 = omega_shear * xi_170; + const float xi_172 = xi_171 * 0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123 * 0.035714285714285712f; + const float xi_196 = xi_123 * 0.021428571428571429f; + const float xi_208 = xi_142 * 0.0625f; + const float xi_209 = xi_128 * 0.013888888888888888f; + const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; + const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123 * 0.0071428571428571426f; + const float xi_240 = xi_128 * 0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123 * 0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; } } } // namespace internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::run(IBlock *block, gpuStream_t stream) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -125,9 +414,18 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::run(IBlock *block, gpuStr } } - auto &omega_shear = this->omega_shear_; + auto &omega_even = this->omega_even_; + auto &block_offset_0 = this->block_offset_0_; + auto &kT = this->kT_; + auto &omega_bulk = this->omega_bulk_; + auto &block_offset_2 = this->block_offset_2_; + auto &block_offset_1 = this->block_offset_1_; + auto &omega_odd = this->omega_odd_; auto &grid_size = this->grid_size_; + auto &seed = this->seed_; + auto &time_step = this->time_step_; auto &v_s = this->v_s_; + auto &omega_shear = this->omega_shear_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -160,11 +458,13 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::run(IBlock *block, gpuStr const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block, gpuStream_t stream) { + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") CellInterval ci = globalCellInterval; CellInterval blockBB = blocks->getBlockCellBB(*block); @@ -174,8 +474,8 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::runOnCellInterval(const s if (ci.empty()) return; - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -186,9 +486,18 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::runOnCellInterval(const s } } - auto &omega_shear = this->omega_shear_; + auto &omega_even = this->omega_even_; + auto &block_offset_0 = this->block_offset_0_; + auto &kT = this->kT_; + auto &omega_bulk = this->omega_bulk_; + auto &block_offset_2 = this->block_offset_2_; + auto &block_offset_1 = this->block_offset_1_; + auto &omega_odd = this->omega_odd_; auto &grid_size = this->grid_size_; + auto &seed = this->seed_; + auto &time_step = this->time_step_; auto &v_s = this->v_s_; + auto &omega_shear = this->omega_shear_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) @@ -227,7 +536,7 @@ void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::runOnCellInterval(const s const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, grid_size, omega_shear, v_s); + internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); pdfs->swapDataPointers(pdfs_tmp); } diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.h index c56abb9cf6..c985a4a36b 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" @@ -56,12 +56,15 @@ namespace pystencils { class StreamCollideSweepLeesEdwardsSinglePrecisionCUDA { public: - StreamCollideSweepLeesEdwardsSinglePrecisionCUDA(BlockDataID forceID_, - BlockDataID pdfsID_, - float grid_size, - float omega_shear, float v_s) - : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), - omega_shear_(omega_shear), v_s_(v_s) {} + StreamCollideSweepLeesEdwardsSinglePrecisionCUDA( + BlockDataID forceID_, BlockDataID pdfsID_, float grid_size, float kT, + float omega_bulk, float omega_even, float omega_odd, float omega_shear, + uint32_t seed, uint32_t time_step, float v_s) + : forceID(forceID_), pdfsID(pdfsID_), grid_size_(grid_size), kT_(kT), + omega_bulk_(omega_bulk), omega_even_(omega_even), omega_odd_(omega_odd), + omega_shear_(omega_shear), seed_(seed), time_step_(time_step), + v_s_(v_s), block_offset_0_(uint32_t(0)), block_offset_1_(uint32_t(0)), + block_offset_2_(uint32_t(0)), configured_(false) {} ~StreamCollideSweepLeesEdwardsSinglePrecisionCUDA() { for (auto p : cache_pdfs_) { @@ -113,23 +116,64 @@ class StreamCollideSweepLeesEdwardsSinglePrecisionCUDA { }; } - void configure(const shared_ptr & /*blocks*/, - IBlock * /*block*/) {} + void configure(const shared_ptr &blocks, + IBlock *block) { + Cell BlockCellBB = blocks->getBlockCellBB(*block).min(); + block_offset_0_ = uint32_t(BlockCellBB[0]); + block_offset_1_ = uint32_t(BlockCellBB[1]); + block_offset_2_ = uint32_t(BlockCellBB[2]); + configured_ = true; + } + inline uint32_t getBlock_offset_0() const { return block_offset_0_; } + inline uint32_t getBlock_offset_1() const { return block_offset_1_; } + inline uint32_t getBlock_offset_2() const { return block_offset_2_; } inline float getGrid_size() const { return grid_size_; } + inline float getKt() const { return kT_; } + inline float getOmega_bulk() const { return omega_bulk_; } + inline float getOmega_even() const { return omega_even_; } + inline float getOmega_odd() const { return omega_odd_; } inline float getOmega_shear() const { return omega_shear_; } + inline uint32_t getSeed() const { return seed_; } + inline uint32_t getTime_step() const { return time_step_; } inline float getV_s() const { return v_s_; } + inline void setBlock_offset_0(const uint32_t value) { + block_offset_0_ = value; + } + inline void setBlock_offset_1(const uint32_t value) { + block_offset_1_ = value; + } + inline void setBlock_offset_2(const uint32_t value) { + block_offset_2_ = value; + } inline void setGrid_size(const float value) { grid_size_ = value; } + inline void setKt(const float value) { kT_ = value; } + inline void setOmega_bulk(const float value) { omega_bulk_ = value; } + inline void setOmega_even(const float value) { omega_even_ = value; } + inline void setOmega_odd(const float value) { omega_odd_ = value; } inline void setOmega_shear(const float value) { omega_shear_ = value; } + inline void setSeed(const uint32_t value) { seed_ = value; } + inline void setTime_step(const uint32_t value) { time_step_ = value; } inline void setV_s(const float value) { v_s_ = value; } private: BlockDataID forceID; BlockDataID pdfsID; + uint32_t block_offset_0_; + uint32_t block_offset_1_; + uint32_t block_offset_2_; float grid_size_; + float kT_; + float omega_bulk_; + float omega_even_; + float omega_odd_; float omega_shear_; + uint32_t seed_; + uint32_t time_step_; float v_s_; std::unordered_map *> cache_pdfs_; + + bool configured_; }; } // namespace pystencils diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp index eb602c6749..89d5817e66 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -439,16 +439,16 @@ void StreamCollideSweepThermalizedDoublePrecision::run(IBlock *block) { } } - auto &omega_even = this->omega_even_; - auto &time_step = this->time_step_; - auto &kT = this->kT_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_shear = this->omega_shear_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; + auto &block_offset_0 = this->block_offset_0_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -507,16 +507,16 @@ void StreamCollideSweepThermalizedDoublePrecision::runOnCellInterval(const share } } - auto &omega_even = this->omega_even_; - auto &time_step = this->time_step_; - auto &kT = this->kT_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_shear = this->omega_shear_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; + auto &block_offset_0 = this->block_offset_0_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.h index d5808a4713..8588ff40b7 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp index eaffc920a9..4cf95e80b8 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -786,16 +786,16 @@ void StreamCollideSweepThermalizedDoublePrecisionAVX::run(IBlock *block) { } } - auto &omega_even = this->omega_even_; - auto &time_step = this->time_step_; - auto &kT = this->kT_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_shear = this->omega_shear_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; + auto &block_offset_0 = this->block_offset_0_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -857,16 +857,16 @@ void StreamCollideSweepThermalizedDoublePrecisionAVX::runOnCellInterval(const sh } } - auto &omega_even = this->omega_even_; - auto &time_step = this->time_step_; - auto &kT = this->kT_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_shear = this->omega_shear_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; auto &omega_odd = this->omega_odd_; + auto &omega_bulk = this->omega_bulk_; + auto &kT = this->kT_; + auto &block_offset_0 = this->block_offset_0_; + auto &time_step = this->time_step_; + auto &seed = this->seed_; + auto &omega_even = this->omega_even_; + auto &omega_shear = this->omega_shear_; + auto &block_offset_1 = this->block_offset_1_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.h index 2ceea50e52..110bbc9eed 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu index 3703bbe312..01896c2df8 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -418,8 +418,8 @@ void StreamCollideSweepThermalizedDoublePrecisionCUDA::run(IBlock *block, gpuStr if (!this->configured_) WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); auto pdfs = block->getData>(pdfsID); + auto force = block->getData>(forceID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -430,16 +430,16 @@ void StreamCollideSweepThermalizedDoublePrecisionCUDA::run(IBlock *block, gpuStr } } - auto &kT = this->kT_; + auto &omega_even = this->omega_even_; auto &block_offset_1 = this->block_offset_1_; - auto &omega_bulk = this->omega_bulk_; - auto &seed = this->seed_; + auto &omega_odd = this->omega_odd_; + auto &omega_shear = this->omega_shear_; + auto &kT = this->kT_; auto &time_step = this->time_step_; auto &block_offset_0 = this->block_offset_0_; - auto &omega_shear = this->omega_shear_; - auto &omega_odd = this->omega_odd_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; auto &block_offset_2 = this->block_offset_2_; - auto &omega_even = this->omega_even_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -488,8 +488,8 @@ void StreamCollideSweepThermalizedDoublePrecisionCUDA::runOnCellInterval(const s if (ci.empty()) return; - auto force = block->getData>(forceID); auto pdfs = block->getData>(pdfsID); + auto force = block->getData>(forceID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -500,16 +500,16 @@ void StreamCollideSweepThermalizedDoublePrecisionCUDA::runOnCellInterval(const s } } - auto &kT = this->kT_; + auto &omega_even = this->omega_even_; auto &block_offset_1 = this->block_offset_1_; - auto &omega_bulk = this->omega_bulk_; - auto &seed = this->seed_; + auto &omega_odd = this->omega_odd_; + auto &omega_shear = this->omega_shear_; + auto &kT = this->kT_; auto &time_step = this->time_step_; auto &block_offset_0 = this->block_offset_0_; - auto &omega_shear = this->omega_shear_; - auto &omega_odd = this->omega_odd_; + auto &seed = this->seed_; + auto &omega_bulk = this->omega_bulk_; auto &block_offset_2 = this->block_offset_2_; - auto &omega_even = this->omega_even_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.h index 73866db42e..f0b3772d7c 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp index 5ee4c7d76a..1619f88847 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -411,8 +411,8 @@ void StreamCollideSweepThermalizedSinglePrecision::run(IBlock *block) { if (!this->configured_) WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -423,16 +423,16 @@ void StreamCollideSweepThermalizedSinglePrecision::run(IBlock *block) { } } + auto &omega_even = this->omega_even_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; auto &omega_bulk = this->omega_bulk_; auto &time_step = this->time_step_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_odd = this->omega_odd_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -479,8 +479,8 @@ void StreamCollideSweepThermalizedSinglePrecision::runOnCellInterval(const share if (ci.empty()) return; - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -491,16 +491,16 @@ void StreamCollideSweepThermalizedSinglePrecision::runOnCellInterval(const share } } + auto &omega_even = this->omega_even_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; auto &omega_bulk = this->omega_bulk_; auto &time_step = this->time_step_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_odd = this->omega_odd_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.h index 3f0e4248ff..edeaf72e43 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp index cd533295c9..4f3340bd92 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -742,8 +742,8 @@ void StreamCollideSweepThermalizedSinglePrecisionAVX::run(IBlock *block) { if (!this->configured_) WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -754,16 +754,16 @@ void StreamCollideSweepThermalizedSinglePrecisionAVX::run(IBlock *block) { } } + auto &omega_even = this->omega_even_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; auto &omega_bulk = this->omega_bulk_; auto &time_step = this->time_step_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_odd = this->omega_odd_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -813,8 +813,8 @@ void StreamCollideSweepThermalizedSinglePrecisionAVX::runOnCellInterval(const sh if (ci.empty()) return; - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); field::GhostLayerField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -825,16 +825,16 @@ void StreamCollideSweepThermalizedSinglePrecisionAVX::runOnCellInterval(const sh } } + auto &omega_even = this->omega_even_; + auto &block_offset_2 = this->block_offset_2_; + auto &omega_odd = this->omega_odd_; + auto &block_offset_0 = this->block_offset_0_; auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; auto &block_offset_1 = this->block_offset_1_; + auto &kT = this->kT_; + auto &seed = this->seed_; auto &omega_bulk = this->omega_bulk_; auto &time_step = this->time_step_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_odd = this->omega_odd_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.h index 589cd4ae17..2b38946894 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu index a09167d11c..d716b99571 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu @@ -17,7 +17,7 @@ //! \\author pystencils //====================================================================================================================== -// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #include @@ -402,8 +402,8 @@ void StreamCollideSweepThermalizedSinglePrecisionCUDA::run(IBlock *block, gpuStr if (!this->configured_) WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -414,16 +414,16 @@ void StreamCollideSweepThermalizedSinglePrecisionCUDA::run(IBlock *block, gpuStr } } - auto &seed = this->seed_; - auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; + auto &omega_even = this->omega_even_; auto &block_offset_0 = this->block_offset_0_; + auto &kT = this->kT_; auto &omega_bulk = this->omega_bulk_; - auto &omega_odd = this->omega_odd_; - auto &time_step = this->time_step_; auto &block_offset_2 = this->block_offset_2_; auto &block_offset_1 = this->block_offset_1_; - auto &omega_even = this->omega_even_; + auto &omega_odd = this->omega_odd_; + auto &seed = this->seed_; + auto &time_step = this->time_step_; + auto &omega_shear = this->omega_shear_; WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) @@ -472,8 +472,8 @@ void StreamCollideSweepThermalizedSinglePrecisionCUDA::runOnCellInterval(const s if (ci.empty()) return; - auto pdfs = block->getData>(pdfsID); auto force = block->getData>(forceID); + auto pdfs = block->getData>(pdfsID); gpu::GPUField *pdfs_tmp; { if (cache_pdfs_.find(block) == cache_pdfs_.end()) { @@ -484,16 +484,16 @@ void StreamCollideSweepThermalizedSinglePrecisionCUDA::runOnCellInterval(const s } } - auto &seed = this->seed_; - auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; + auto &omega_even = this->omega_even_; auto &block_offset_0 = this->block_offset_0_; + auto &kT = this->kT_; auto &omega_bulk = this->omega_bulk_; - auto &omega_odd = this->omega_odd_; - auto &time_step = this->time_step_; auto &block_offset_2 = this->block_offset_2_; auto &block_offset_1 = this->block_offset_1_; - auto &omega_even = this->omega_even_; + auto &omega_odd = this->omega_odd_; + auto &seed = this->seed_; + auto &time_step = this->time_step_; + auto &omega_shear = this->omega_shear_; WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.h b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.h index 4fe9d8903d..588a21df5f 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.h +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.h @@ -19,7 +19,7 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy // v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from -// waLBerla commit c69cb11d6a95d32b2280544d3d9abde1fe5fdbb5 +// waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 #pragma once #include "core/DataTypes.h" diff --git a/src/walberla_bridge/tests/LBWalberlaImpl_lees_edwards_tests.cpp b/src/walberla_bridge/tests/LBWalberlaImpl_lees_edwards_tests.cpp index ad2dc78954..d3fdd45885 100644 --- a/src/walberla_bridge/tests/LBWalberlaImpl_lees_edwards_tests.cpp +++ b/src/walberla_bridge/tests/LBWalberlaImpl_lees_edwards_tests.cpp @@ -71,7 +71,10 @@ BOOST_AUTO_TEST_CASE(test_transient_shear) { auto lb = LBImplementation(lattice, viscosity, density); auto le_pack = std::make_unique( 0u, 1u, []() { return 0.0; }, [=]() { return v0; }); - lb.set_collision_model(std::move(le_pack)); + auto kT = 0.0; + auto seed = 0u; + + lb.set_collision_model(std::move(le_pack), kT, seed); lb.ghost_communication(); auto const grid_size_y = lattice->get_grid_dimensions()[1]; for (int i = 0; i < 200; i++) { @@ -97,7 +100,9 @@ static auto setup_lb_with_offset(double offset) { auto lb = std::make_shared(lattice, viscosity, density); auto le_pack = std::make_unique( 0u, 1u, [=]() { return offset; }, []() { return 0.0; }); - lb->set_collision_model(std::move(le_pack)); + auto kT = 0.0; + auto seed = 0u; + lb->set_collision_model(std::move(le_pack), kT, seed); lb->ghost_communication(); return lb; } diff --git a/testsuite/python/lb_lees_edwards.py b/testsuite/python/lb_lees_edwards.py index c5137a7de8..6c60996a4d 100644 --- a/testsuite/python/lb_lees_edwards.py +++ b/testsuite/python/lb_lees_edwards.py @@ -350,28 +350,6 @@ def test_lebc_mismatch(self): with LEContextManager('x', 'y', -1.): system.lb = lbf system.lb = None - # no thermalization - system.lees_edwards.protocol = None - with self.assertRaisesRegex(RuntimeError, "Lees-Edwards LB doesn't support thermalization"): - with LEContextManager('x', 'y', 1.): - system.lb = espressomd.lb.LBFluidWalberla( - agrid=1., density=1., kinematic_viscosity=1., kT=1., seed=42, - tau=system.time_step) - self.assertIsNone(system.lb) - system.lees_edwards.protocol = None - with self.assertRaisesRegex(RuntimeError, "Lees-Edwards LB doesn't support thermalization"): - with LBContextManager(kT=1., seed=42) as lbf: - LEContextManager('x', 'y', 1.).initialize() - self.assertIsNone(system.lb) - system.lees_edwards.protocol = None - with self.assertRaisesRegex(RuntimeError, "Lees-Edwards LB doesn't support thermalization"): - with LBContextManager(kT=1., seed=42) as lbf: - system.lees_edwards.set_boundary_conditions( - shear_direction='x', shear_plane_normal='y', - protocol=espressomd.lees_edwards.Off()) - system.lees_edwards.protocol = espressomd.lees_edwards.LinearShear( - shear_velocity=0., initial_pos_offset=0., time_0=0.) - self.assertIsNone(system.lb) with self.assertRaisesRegex(ValueError, "Lees-Edwards sweep is implemented for a ghost layer of thickness 1"): lattice = espressomd.lb.LatticeWalberla(agrid=1., n_ghost_layers=2) From cd06ca273384715f8b383801569a3a82ed50dc4f Mon Sep 17 00:00:00 2001 From: Rudolf Weeber Date: Wed, 12 Nov 2025 15:34:02 +0100 Subject: [PATCH 2/4] LE Tracing --- maintainer/walberla_kernels/lees_edwards.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/maintainer/walberla_kernels/lees_edwards.py b/maintainer/walberla_kernels/lees_edwards.py index 4d30482c71..71f8c370b0 100644 --- a/maintainer/walberla_kernels/lees_edwards.py +++ b/maintainer/walberla_kernels/lees_edwards.py @@ -45,6 +45,7 @@ def velocity_offset_eqs(config, method, pdfs, populations in the boundary layer. Returns an AssignmentCollection with one Assignment per stencil direction. """ + print("Lees Edwareds velocity offsets applied to PDF components") dim = len(stencil[0]) default_dtype = config.data_type.default_factory() @@ -84,10 +85,11 @@ def velocity_offset_eqs(config, method, pdfs, delta_pdf_eqs = macroscopic_values_setter( method, sp.Symbol("dens"), [ sp.Symbol("v_0"), sp.Symbol("v_1"), sp.Symbol("v_2")], pdfs) - + print(f"{delta_pdf_eqs=}") # Replace the assignments of (rho,u) by (rho, u+v) - (rho,u) ma = [] for a, c in zip(delta_pdf_eqs.main_assignments, method.stencil): + print(f"Direction {c}: {a}") # Determine direction of the stencil component in the # shear_dir_normal if c[shear_dir_normal] == 1: @@ -99,7 +101,7 @@ def velocity_offset_eqs(config, method, pdfs, else: up = False down = False - + print(f"{up=} {down=} {layer_prefactor=}") # Replace (rho,u) by (rho,u+v) in boundary layers rhs = sp.simplify( a.rhs - @@ -113,9 +115,10 @@ def velocity_offset_eqs(config, method, pdfs, rhs = rhs.replace(points_up, up) rhs = rhs.replace(points_down, down) new_a = Assignment(a.lhs, rhs) + print(f"Replaced by: {new_a}") + print() ma.append(new_a) - print(c, ma[-1]) # Plug in modified assignments delta_pdf_eqs.main_assignments = ma return delta_pdf_eqs.main_assignments @@ -132,10 +135,12 @@ def add_lees_edwards_to_collision( stencil, combined_kernel) + print("Lees edwards collisoi nassigments") ma = [] for i, a in enumerate(collision.main_assignments): # Add Lees-Edwards-shift to collision main assignments new_a = Assignment(a.lhs, a.rhs + offset[i].rhs) + print(f"Initial: {a}\nLE: {new_a}") ma.append(new_a) collision.main_assignments = ma return collision From b84ec6d599b375c3bbd77a5f8a9c14ea3e80ebe2 Mon Sep 17 00:00:00 2001 From: Rudolf Weeber Date: Wed, 12 Nov 2025 15:34:02 +0100 Subject: [PATCH 3/4] LE Tracing --- maintainer/walberla_kernels/lees_edwards.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/maintainer/walberla_kernels/lees_edwards.py b/maintainer/walberla_kernels/lees_edwards.py index 4d30482c71..4f6ce0f0ae 100644 --- a/maintainer/walberla_kernels/lees_edwards.py +++ b/maintainer/walberla_kernels/lees_edwards.py @@ -45,6 +45,7 @@ def velocity_offset_eqs(config, method, pdfs, populations in the boundary layer. Returns an AssignmentCollection with one Assignment per stencil direction. """ + print("Lees Edwareds velocity offsets applied to PDF components") dim = len(stencil[0]) default_dtype = config.data_type.default_factory() @@ -84,10 +85,11 @@ def velocity_offset_eqs(config, method, pdfs, delta_pdf_eqs = macroscopic_values_setter( method, sp.Symbol("dens"), [ sp.Symbol("v_0"), sp.Symbol("v_1"), sp.Symbol("v_2")], pdfs) - + print(f"{delta_pdf_eqs=}") # Replace the assignments of (rho,u) by (rho, u+v) - (rho,u) ma = [] for a, c in zip(delta_pdf_eqs.main_assignments, method.stencil): + print(f"Direction {c}: {a}") # Determine direction of the stencil component in the # shear_dir_normal if c[shear_dir_normal] == 1: @@ -99,7 +101,7 @@ def velocity_offset_eqs(config, method, pdfs, else: up = False down = False - + print(f"{up=} {down=} {layer_prefactor=}") # Replace (rho,u) by (rho,u+v) in boundary layers rhs = sp.simplify( a.rhs - @@ -113,9 +115,10 @@ def velocity_offset_eqs(config, method, pdfs, rhs = rhs.replace(points_up, up) rhs = rhs.replace(points_down, down) new_a = Assignment(a.lhs, rhs) + print(f"velocity offset: {new_a}") + print() ma.append(new_a) - print(c, ma[-1]) # Plug in modified assignments delta_pdf_eqs.main_assignments = ma return delta_pdf_eqs.main_assignments @@ -132,10 +135,12 @@ def add_lees_edwards_to_collision( stencil, combined_kernel) + print("Lees edwards collisoi nassigments") ma = [] for i, a in enumerate(collision.main_assignments): # Add Lees-Edwards-shift to collision main assignments new_a = Assignment(a.lhs, a.rhs + offset[i].rhs) + if a != new_a: print(f"Initial: {a}\nLE: {new_a}") ma.append(new_a) collision.main_assignments = ma return collision From 4365657f73df1ca5528ba1e65a0cc2ded4f20d12 Mon Sep 17 00:00:00 2001 From: Yashas Gandhi Date: Thu, 13 Nov 2025 15:10:40 +0100 Subject: [PATCH 4/4] Fix for LHS mismatch --- .../walberla_kernels/generate_lb_kernels.py | 1 - maintainer/walberla_kernels/lees_edwards.py | 31 +- ...CollideSweepLeesEdwardsDoublePrecision.cpp | 1036 +++++----- ...lideSweepLeesEdwardsDoublePrecisionAVX.cpp | 1739 +++++++++-------- ...lideSweepLeesEdwardsDoublePrecisionCUDA.cu | 1020 +++++----- ...CollideSweepLeesEdwardsSinglePrecision.cpp | 1006 +++++----- ...lideSweepLeesEdwardsSinglePrecisionAVX.cpp | 1675 ++++++++-------- ...lideSweepLeesEdwardsSinglePrecisionCUDA.cu | 996 +++++----- ...CollideSweepThermalizedDoublePrecision.cpp | 1028 +++++----- ...lideSweepThermalizedDoublePrecisionAVX.cpp | 1731 ++++++++-------- ...lideSweepThermalizedDoublePrecisionCUDA.cu | 1012 +++++----- ...CollideSweepThermalizedSinglePrecision.cpp | 998 +++++----- ...lideSweepThermalizedSinglePrecisionAVX.cpp | 1667 ++++++++-------- ...lideSweepThermalizedSinglePrecisionCUDA.cu | 988 +++++----- 14 files changed, 7613 insertions(+), 7315 deletions(-) diff --git a/maintainer/walberla_kernels/generate_lb_kernels.py b/maintainer/walberla_kernels/generate_lb_kernels.py index 4529f68eb8..2e6638ced1 100644 --- a/maintainer/walberla_kernels/generate_lb_kernels.py +++ b/maintainer/walberla_kernels/generate_lb_kernels.py @@ -221,7 +221,6 @@ def generate_stream_collide_kernels(ctx, method, data_type): }, optimization=optimization ) - for params, target_suffix in paramlist(parameters, ("GPU", "CPU", "AVX")): stem = f"StreamCollideSweepThermalized{precision_prefix}{target_suffix}" # nopep8 pystencils_espresso.generate_stream_collision_sweep( diff --git a/maintainer/walberla_kernels/lees_edwards.py b/maintainer/walberla_kernels/lees_edwards.py index 4f6ce0f0ae..88c8cb62f1 100644 --- a/maintainer/walberla_kernels/lees_edwards.py +++ b/maintainer/walberla_kernels/lees_edwards.py @@ -88,6 +88,7 @@ def velocity_offset_eqs(config, method, pdfs, print(f"{delta_pdf_eqs=}") # Replace the assignments of (rho,u) by (rho, u+v) - (rho,u) ma = [] + for a, c in zip(delta_pdf_eqs.main_assignments, method.stencil): print(f"Direction {c}: {a}") # Determine direction of the stencil component in the @@ -135,12 +136,26 @@ def add_lees_edwards_to_collision( stencil, combined_kernel) - print("Lees edwards collisoi nassigments") - ma = [] - for i, a in enumerate(collision.main_assignments): - # Add Lees-Edwards-shift to collision main assignments - new_a = Assignment(a.lhs, a.rhs + offset[i].rhs) - if a != new_a: print(f"Initial: {a}\nLE: {new_a}") - ma.append(new_a) - collision.main_assignments = ma + print("Lees edwards collision assigments") + + keys = [sp.Symbol(f"d_{i}") for i in range(19)] + + for i, key in enumerate(keys): + match_found = False + for j, a in enumerate(collision.main_assignments): + if a.lhs == key: + collision.main_assignments[j] = Assignment( + a.lhs, a.rhs + offset[i].rhs) + match_found = True + print(f"m:{a.lhs}, o:{offset[i].lhs}") + break + if match_found: + continue + for j, a in enumerate(collision.subexpressions): + if hasattr(a, 'lhs'): + if a.lhs == key: + collision.subexpressions[j] = Assignment( + a.lhs, a.rhs + offset[i].rhs) + print(f"s:{a.lhs}, o:{offset[i].lhs}") + break return collision diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp index 2a711cee59..9ec3538885 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecision.cpp @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepLeesEdwardsDoublePrecision.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepLeesEdwardsDoublePrecision.h" + #include "philox_rand.h" + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,527 +51,547 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_1215ae06312aaf63d726636be94fdda3 { -static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(double * RESTRICT const _data_force, double * RESTRICT const _data_pdfs, double * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const double xi_20 = omega_bulk * 0.5; - const double xi_47 = omega_shear * 0.041666666666666664; - const double xi_51 = omega_bulk * 0.041666666666666664; - const double xi_62 = omega_shear * 0.125; - const double xi_97 = 3.7416573867739413; - const double xi_100 = 5.4772255750516612; - const double xi_104 = 2.4494897427831779; - const double xi_107 = 8.3666002653407556; - const double xi_150 = omega_odd * 0.25; - const double xi_160 = omega_odd * 0.083333333333333329; - const double xi_173 = 1.7320508075688772; - const double xi_217 = omega_shear * 0.25; - const double xi_223 = omega_odd * 0.041666666666666664; - const double xi_226 = omega_odd * 0.125; - const double rr_0 = 0.0; - const double xi_45 = rr_0 * 0.041666666666666664; + { + const double xi_20 = omega_bulk*0.5; + const double xi_47 = omega_shear*0.041666666666666664; + const double xi_51 = omega_bulk*0.041666666666666664; + const double xi_62 = omega_shear*0.125; + const double xi_97 = 3.7416573867739413; + const double xi_100 = 5.4772255750516612; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_150 = omega_odd*0.25; + const double xi_160 = omega_odd*0.083333333333333329; + const double xi_173 = 1.7320508075688772; + const double xi_217 = omega_shear*0.25; + const double xi_223 = omega_odd*0.041666666666666664; + const double xi_226 = omega_odd*0.125; + const double rr_0 = 0.0; + const double xi_45 = rr_0*0.041666666666666664; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - - double random_7_0{}; - double random_7_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const double xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const double xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_21 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_22 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_33 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_34 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_39 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_40 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_58 = 0.25*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_98 = random_6_0 - 0.5; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_124 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_125 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_126 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_157 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_158 = -2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_161 = xi_159*xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_191 = xi_160*xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160*xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_224 = xi_159*xi_223; + const double xi_227 = xi_149*xi_226; + const double xi_233 = xi_201*xi_223; + const double xi_234 = xi_199*xi_226; + const double xi_254 = xi_187*xi_226; + const double xi_255 = xi_190*xi_223; + const double xi_23 = rr_0*xi_22; + const double xi_35 = rr_0*xi_34; + const double xi_41 = rr_0*xi_40; + const double xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double rho = delta_rho + 1.0; + const double xi_95 = kT*rho; + const double xi_96 = pow(xi_95*(1.0 - ((-omega_even + 1.0)*(-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96*xi_97*xi_98; + const double xi_102 = xi_100*xi_101*xi_96; + const double xi_105 = pow(xi_95*(1.0 - ((-omega_bulk + 1.0)*(-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103*xi_104*xi_105; + const double xi_109 = xi_107*xi_108*xi_96; + const double xi_131 = xi_99*0.11904761904761904; + const double xi_134 = pow(xi_95*(1.0 - ((-omega_shear + 1.0)*(-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134*0.5; + const double xi_136 = xi_133*xi_135; + const double xi_152 = pow(xi_95*(1.0 - ((-omega_odd + 1.0)*(-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152*1.4142135623730951; + const double xi_154 = xi_153*0.5; + const double xi_163 = xi_104*xi_152; + const double xi_164 = xi_163*0.16666666666666666; + const double xi_165 = xi_162*xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const double xi_169 = xi_102*0.10000000000000001; + const double xi_175 = xi_134*xi_173*xi_174; + const double xi_176 = xi_175*0.16666666666666666; + const double xi_184 = xi_109*0.071428571428571425; + const double xi_193 = xi_164*xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const double xi_197 = xi_109*0.042857142857142858; + const double xi_204 = xi_164*xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const double xi_207 = xi_133*xi_134*0.25; + const double xi_210 = xi_99*0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135*(random_1_0 - 0.5); + const double xi_222 = xi_135*(random_2_0 - 0.5); + const double xi_228 = xi_163*0.083333333333333329; + const double xi_229 = xi_162*xi_228; + const double xi_230 = xi_153*0.25; + const double xi_231 = xi_151*xi_230; + const double xi_235 = xi_203*xi_228; + const double xi_236 = xi_200*xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109*0.014285714285714285; + const double xi_241 = xi_99*0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109*0.035714285714285712; + const double xi_251 = xi_135*(random_1_1 - 0.5); + const double xi_256 = xi_188*xi_230; + const double xi_257 = xi_192*xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0*0.5; + const double u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_28 = xi_17*0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17*0.083333333333333329; + const double xi_31 = omega_shear*xi_30 + xi_29; + const double xi_48 = xi_17*xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17*xi_51; + const double xi_59 = u_0*xi_58; + const double xi_64 = u_0*xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear*u_0*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_86 = xi_85*0.25; + const double xi_89 = xi_62*xi_85; + const double xi_111 = u_0*u_0; + const double u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_26 = xi_18*0.16666666666666666; + const double xi_36 = omega_shear*u_1*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18*0.083333333333333329; + const double xi_53 = xi_18*xi_51; + const double xi_60 = u_1*0.25; + const double xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_65 = u_1*xi_62; + const double xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_110 = rho*(u_1*u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho*u_1; + const double xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_24 = xi_19*0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19*0.083333333333333329; + const double xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear*u_2*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19*xi_51; + const double xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19*xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2*xi_58; + const double xi_80 = u_2*xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_88 = xi_87*0.25; + const double xi_90 = xi_62*xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho*(u_2*u_2); + const double xi_114 = xi_112 + xi_113*0.66666666666666663 + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_115 = rho*xi_111*1.6666666666666667 + xi_110*0.66666666666666663 + xi_114 - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_116 = omega_even*xi_115; + const double xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk*xi_119; + const double xi_122 = xi_110*2.3333333333333335 + xi_114 + xi_121 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_123 = omega_even*xi_122; + const double xi_127 = xi_112 + xi_113*3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_128 = omega_even*xi_127; + const double xi_130 = xi_128*0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const double xi_143 = xi_142*0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116*0.050000000000000003; + const double xi_170 = rho*xi_111*2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_171 = omega_shear*xi_170; + const double xi_172 = xi_171*0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123*0.035714285714285712; + const double xi_196 = xi_123*0.021428571428571429; + const double xi_208 = xi_142*0.0625; + const double xi_209 = xi_128*0.013888888888888888; + const double xi_211 = xi_106*0.083333333333333329 + xi_120*0.041666666666666664; + const double xi_212 = xi_171*0.020833333333333332 + xi_175*0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123*0.0071428571428571426; + const double xi_240 = xi_128*0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102*0.050000000000000003 + xi_116*0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk*xi_119*-0.041666666666666664 + omega_even*xi_115*-0.025000000000000001 + xi_100*xi_101*xi_96*-0.050000000000000003 + xi_103*xi_104*xi_105*-0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123*0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001 - xi_106 + xi_109*0.085714285714285715 + xi_116*0.10000000000000001 + xi_120*-0.5 + xi_123*0.042857142857142858 + xi_128*0.023809523809523808 + xi_99*0.14285714285714285 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285 + xi_107*xi_108*xi_96*0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + v_s)*0.16666666666666666): (0.0)); + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571 + xi_123*0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + v_s)*0.16666666666666666): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329 + xi_175*0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329 - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + u_1*3.0 - v_s + 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + u_1*-3.0 - v_s - 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + u_1*3.0 - v_s - 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + u_1*-3.0 - v_s + 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } + } + } + } +} +} - double random_6_0{}; - double random_6_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); - } - double random_5_0{}; - double random_5_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } +void StreamCollideSweepLeesEdwardsDoublePrecision::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } + } - double random_4_0{}; - double random_4_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } + auto & v_s = this->v_s_; + auto & block_offset_0 = this->block_offset_0_; + auto & grid_size = this->grid_size_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); - double random_3_0{}; - double random_3_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } +} - double random_2_0{}; - double random_2_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } - double random_1_0{}; - double random_1_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } +void StreamCollideSweepLeesEdwardsDoublePrecision::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - double random_0_0{}; - double random_0_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const double xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const double xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_58 = 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_98 = random_6_0 - 0.5; - const double xi_101 = random_7_0 - 0.5; - const double xi_103 = random_2_1 - 0.5; - const double xi_108 = random_6_1 - 0.5; - const double xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double xi_118 = xi_11 + xi_3; - const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_133 = random_0_1 - 0.5; - const double xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_151 = random_5_1 - 0.5; - const double xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_161 = xi_159 * xi_160; - const double xi_162 = random_3_0 - 0.5; - const double xi_174 = random_0_0 - 0.5; - const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_186 = xi_138 + xi_185; - const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_188 = random_4_1 - 0.5; - const double xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_191 = xi_160 * xi_190; - const double xi_192 = random_4_0 - 0.5; - const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_200 = random_5_0 - 0.5; - const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const double xi_202 = xi_160 * xi_201; - const double xi_203 = random_3_1 - 0.5; - const double xi_224 = xi_159 * xi_223; - const double xi_227 = xi_149 * xi_226; - const double xi_233 = xi_201 * xi_223; - const double xi_234 = xi_199 * xi_226; - const double xi_254 = xi_187 * xi_226; - const double xi_255 = xi_190 * xi_223; - const double xi_23 = rr_0 * xi_22; - const double xi_35 = rr_0 * xi_34; - const double xi_41 = rr_0 * xi_40; - const double xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double vel1Term = xi_4 + xi_5; - const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double rho = delta_rho + 1.0; - const double xi_95 = kT * rho; - const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); - const double xi_99 = xi_96 * xi_97 * xi_98; - const double xi_102 = xi_100 * xi_101 * xi_96; - const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); - const double xi_106 = xi_103 * xi_104 * xi_105; - const double xi_109 = xi_107 * xi_108 * xi_96; - const double xi_131 = xi_99 * 0.11904761904761904; - const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); - const double xi_135 = xi_134 * 0.5; - const double xi_136 = xi_133 * xi_135; - const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); - const double xi_153 = xi_152 * 1.4142135623730951; - const double xi_154 = xi_153 * 0.5; - const double xi_163 = xi_104 * xi_152; - const double xi_164 = xi_163 * 0.16666666666666666; - const double xi_165 = xi_162 * xi_164; - const double xi_166 = xi_161 + xi_165; - const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const double xi_169 = xi_102 * 0.10000000000000001; - const double xi_175 = xi_134 * xi_173 * xi_174; - const double xi_176 = xi_175 * 0.16666666666666666; - const double xi_184 = xi_109 * 0.071428571428571425; - const double xi_193 = xi_164 * xi_192; - const double xi_194 = xi_191 + xi_193; - const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const double xi_197 = xi_109 * 0.042857142857142858; - const double xi_204 = xi_164 * xi_203; - const double xi_205 = xi_202 + xi_204; - const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const double xi_207 = xi_133 * xi_134 * 0.25; - const double xi_210 = xi_99 * 0.083333333333333329; - const double xi_214 = -xi_191 - xi_193; - const double xi_215 = xi_135 * (random_1_0 - 0.5); - const double xi_222 = xi_135 * (random_2_0 - 0.5); - const double xi_228 = xi_163 * 0.083333333333333329; - const double xi_229 = xi_162 * xi_228; - const double xi_230 = xi_153 * 0.25; - const double xi_231 = xi_151 * xi_230; - const double xi_235 = xi_203 * xi_228; - const double xi_236 = xi_200 * xi_230; - const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const double xi_239 = xi_109 * 0.014285714285714285; - const double xi_241 = xi_99 * 0.023809523809523808; - const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const double xi_246 = -xi_207; - const double xi_249 = xi_109 * 0.035714285714285712; - const double xi_251 = xi_135 * (random_1_1 - 0.5); - const double xi_256 = xi_188 * xi_230; - const double xi_257 = xi_192 * xi_228; - const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const double xi_0 = ((1.0) / (rho)); - const double xi_10 = xi_0 * 0.5; - const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_28 = xi_17 * 0.16666666666666666; - const double xi_29 = -xi_28; - const double xi_30 = xi_17 * 0.083333333333333329; - const double xi_31 = omega_shear * xi_30 + xi_29; - const double xi_48 = xi_17 * xi_47 + xi_29; - const double xi_49 = xi_34 - xi_46 + xi_48; - const double xi_52 = xi_17 * xi_51; - const double xi_59 = u_0 * xi_58; - const double xi_64 = u_0 * xi_63; - const double xi_68 = -xi_34 + xi_46 + xi_48; - const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_86 = xi_85 * 0.25; - const double xi_89 = xi_62 * xi_85; - const double xi_111 = u_0 * u_0; - const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_26 = xi_18 * 0.16666666666666666; - const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_42 = -xi_26; - const double xi_43 = xi_18 * 0.083333333333333329; - const double xi_53 = xi_18 * xi_51; - const double xi_60 = u_1 * 0.25; - const double xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_65 = u_1 * xi_62; - const double xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const double xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_110 = rho * (u_1 * u_1); - const double xi_117 = -xi_110; - const double xi_216 = rho * u_1; - const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const double xi_219 = -xi_215 - xi_218; - const double xi_220 = xi_215 + xi_218; - const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_24 = xi_19 * 0.16666666666666666; - const double xi_25 = -xi_24; - const double xi_27 = xi_19 * 0.083333333333333329; - const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; - const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; - const double xi_54 = xi_19 * xi_51; - const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const double xi_56 = -xi_22 + xi_50 + xi_55; - const double xi_57 = xi_27 + xi_37 + xi_56; - const double xi_70 = xi_22 - xi_50 + xi_55; - const double xi_71 = xi_27 + xi_37 + xi_70; - const double xi_73 = xi_19 * xi_47 + xi_25; - const double xi_74 = -xi_40 + xi_72 + xi_73; - const double xi_76 = xi_30 + xi_56 + xi_75; - const double xi_78 = u_2 * xi_58; - const double xi_80 = u_2 * xi_63; - const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const double xi_82 = xi_30 + xi_70 + xi_75; - const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const double xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_88 = xi_87 * 0.25; - const double xi_90 = xi_62 * xi_87; - const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const double xi_93 = xi_40 - xi_72 + xi_73; - const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const double xi_113 = rho * (u_2 * u_2); - const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_116 = omega_even * xi_115; - const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const double xi_120 = omega_bulk * xi_119; - const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_123 = omega_even * xi_122; - const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_128 = omega_even * xi_127; - const double xi_130 = xi_128 * 0.01984126984126984; - const double xi_132 = xi_130 + xi_131; - const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const double xi_143 = xi_142 * 0.125; - const double xi_144 = -xi_136 - xi_143; - const double xi_168 = xi_116 * 0.050000000000000003; - const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_171 = omega_shear * xi_170; - const double xi_172 = xi_171 * 0.041666666666666664; - const double xi_177 = xi_172 + xi_176; - const double xi_178 = xi_168 + xi_169 + xi_177; - const double xi_179 = -xi_130 - xi_131; - const double xi_180 = xi_136 + xi_143; - const double xi_181 = -xi_172 - xi_176; - const double xi_182 = -xi_168 - xi_169 + xi_181; - const double xi_183 = xi_123 * 0.035714285714285712; - const double xi_196 = xi_123 * 0.021428571428571429; - const double xi_208 = xi_142 * 0.0625; - const double xi_209 = xi_128 * 0.013888888888888888; - const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; - const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; - const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const double xi_238 = xi_123 * 0.0071428571428571426; - const double xi_240 = xi_128 * 0.003968253968253968; - const double xi_242 = -xi_240 - xi_241; - const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const double xi_247 = -xi_208; - const double xi_248 = xi_123 * 0.017857142857142856; - const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const double xi_253 = -xi_251 - xi_252; - const double xi_259 = xi_251 + xi_252; - const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const double forceTerm_1 = xi_21 - xi_23 + xi_32; - const double forceTerm_2 = -xi_21 + xi_23 + xi_32; - const double forceTerm_3 = -xi_33 + xi_35 - xi_38; - const double forceTerm_4 = xi_33 - xi_35 - xi_38; - const double forceTerm_5 = xi_39 - xi_41 + xi_44; - const double forceTerm_6 = -xi_39 + xi_41 + xi_44; - const double forceTerm_7 = -xi_49 - xi_57 - xi_67; - const double forceTerm_8 = -xi_57 - xi_68 - xi_69; - const double forceTerm_9 = -xi_49 - xi_69 - xi_71; - const double forceTerm_10 = -xi_67 - xi_68 - xi_71; - const double forceTerm_11 = -xi_74 - xi_76 - xi_81; - const double forceTerm_12 = -xi_74 - xi_82 - xi_83; - const double forceTerm_13 = -xi_49 - xi_84 - xi_91; - const double forceTerm_14 = -xi_68 - xi_84 - xi_92; - const double forceTerm_15 = -xi_76 - xi_83 - xi_93; - const double forceTerm_16 = -xi_81 - xi_82 - xi_93; - const double forceTerm_17 = -xi_49 - xi_92 - xi_94; - const double forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)); - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; } - } } - } -} -} // namespace internal_1215ae06312aaf63d726636be94fdda3 - -void StreamCollideSweepLeesEdwardsDoublePrecision::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } + auto & v_s = this->v_s_; + auto & block_offset_0 = this->block_offset_0_; + auto & grid_size = this->grid_size_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &grid_size = this->grid_size_; - auto &block_offset_0 = this->block_offset_0_; - auto &v_s = this->v_s_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); } -void StreamCollideSweepLeesEdwardsDoublePrecision::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; - - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &grid_size = this->grid_size_; - auto &block_offset_0 = this->block_offset_0_; - auto &v_s = this->v_s_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_1215ae06312aaf63d726636be94fdda3::streamcollidesweepleesedwardsdoubleprecision_streamcollidesweepleesedwardsdoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); -} } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp index c66a467586..22b1ba9df4 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionAVX.cpp @@ -19,29 +19,33 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepLeesEdwardsDoublePrecisionAVX.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepLeesEdwardsDoublePrecisionAVX.h" + #include #include "philox_rand.h" + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -49,878 +53,899 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_08be08b6e7ea45132a735524ef494de6 { -static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(double * RESTRICT const _data_force, double * RESTRICT const _data_pdfs, double * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const double xi_20 = omega_bulk * 0.5; - const double xi_47 = omega_shear * 0.041666666666666664; - const double xi_51 = omega_bulk * 0.041666666666666664; - const double xi_62 = omega_shear * 0.125; - const double xi_97 = 3.7416573867739413; - const double xi_100 = 5.4772255750516612; - const double xi_104 = 2.4494897427831779; - const double xi_107 = 8.3666002653407556; - const double xi_150 = omega_odd * 0.25; - const double xi_160 = omega_odd * 0.083333333333333329; - const double xi_173 = 1.7320508075688772; - const double xi_217 = omega_shear * 0.25; - const double xi_223 = omega_odd * 0.041666666666666664; - const double xi_226 = omega_odd * 0.125; - const double rr_0 = 0.0; - const double xi_45 = rr_0 * 0.041666666666666664; + { + const double xi_20 = omega_bulk*0.5; + const double xi_47 = omega_shear*0.041666666666666664; + const double xi_51 = omega_bulk*0.041666666666666664; + const double xi_62 = omega_shear*0.125; + const double xi_97 = 3.7416573867739413; + const double xi_100 = 5.4772255750516612; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_150 = omega_odd*0.25; + const double xi_160 = omega_odd*0.083333333333333329; + const double xi_173 = 1.7320508075688772; + const double xi_217 = omega_shear*0.25; + const double xi_223 = omega_odd*0.041666666666666664; + const double xi_226 = omega_odd*0.125; + const double rr_0 = 0.0; + const double xi_45 = rr_0*0.041666666666666664; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - { - for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 += 4) { - - __m256d random_7_0{}; - __m256d random_7_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } - - __m256d random_6_0{}; - __m256d random_6_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); - } - - __m256d random_5_0{}; - __m256d random_5_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } - - __m256d random_4_0{}; - __m256d random_4_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } - - __m256d random_3_0{}; - __m256d random_3_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } - - __m256d random_2_0{}; - __m256d random_2_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } - - __m256d random_1_0{}; - __m256d random_1_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } - - __m256d random_0_0{}; - __m256d random_0_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const __m256d xi_2 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_3 = _mm256_add_pd(_mm256_add_pd(xi_2, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_4 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_5 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_6 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_7 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_8 = _mm256_add_pd(xi_7, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_9 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_11 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_12 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_13 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_14 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_15 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_16 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_21 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_22 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_33 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_34 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_39 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_40 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_58 = _mm256_mul_pd(_mm256_set_pd(0.25, 0.25, 0.25, 0.25), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_63 = _mm256_mul_pd(_mm256_set_pd(xi_62, xi_62, xi_62, xi_62), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_98 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_0); - const __m256d xi_101 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_7_0); - const __m256d xi_103 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_1); - const __m256d xi_108 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_1); - const __m256d xi_112 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])); - const __m256d xi_118 = _mm256_add_pd(xi_11, xi_3); - const __m256d xi_121 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256d xi_124 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_125 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_126 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256d xi_129 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256d xi_133 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_1); - const __m256d xi_137 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_138 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_139 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_140 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_145 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_146 = _mm256_add_pd(xi_14, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_147 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_148 = _mm256_add_pd(xi_147, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256d xi_149 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_145, xi_146), xi_148), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_151 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_1); - const __m256d xi_155 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_156 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_157 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_158 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - const __m256d xi_159 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(xi_157, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_148), xi_155), xi_156), xi_158), xi_5); - const __m256d xi_161 = _mm256_mul_pd(xi_159, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); - const __m256d xi_162 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_0); - const __m256d xi_174 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_0); - const __m256d xi_185 = _mm256_add_pd(xi_15, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_186 = _mm256_add_pd(xi_138, xi_185); - const __m256d xi_187 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), xi_186), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_188 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_1); - const __m256d xi_189 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_190 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(xi_157, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_158, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_186, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_189, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_7, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_191 = _mm256_mul_pd(xi_190, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); - const __m256d xi_192 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_0); - const __m256d xi_198 = _mm256_add_pd(_mm256_add_pd(xi_145, xi_155), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_199 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_198, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); - const __m256d xi_200 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_0); - const __m256d xi_201 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_124, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_125, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_126), xi_140), xi_198), xi_6); - const __m256d xi_202 = _mm256_mul_pd(xi_201, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); - const __m256d xi_203 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_1); - const __m256d xi_224 = _mm256_mul_pd(xi_159, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); - const __m256d xi_227 = _mm256_mul_pd(xi_149, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); - const __m256d xi_233 = _mm256_mul_pd(xi_201, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); - const __m256d xi_234 = _mm256_mul_pd(xi_199, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); - const __m256d xi_254 = _mm256_mul_pd(xi_187, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); - const __m256d xi_255 = _mm256_mul_pd(xi_190, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); - const __m256d xi_23 = _mm256_mul_pd(xi_22, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); - const __m256d xi_35 = _mm256_mul_pd(xi_34, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); - const __m256d xi_41 = _mm256_mul_pd(xi_40, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); - const __m256d xi_46 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_50 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_72 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d vel0Term = _mm256_add_pd(xi_3, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d vel1Term = _mm256_add_pd(xi_4, xi_5); - const __m256d vel2Term = _mm256_add_pd(xi_6, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d delta_rho = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel0Term, vel1Term), vel2Term), xi_8), xi_9), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256d rho = _mm256_add_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), delta_rho); - const __m256d xi_95 = _mm256_mul_pd(rho, _mm256_set_pd(kT, kT, kT, kT)); - const __m256d xi_96 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_99 = _mm256_mul_pd(_mm256_mul_pd(xi_96, xi_98), _mm256_set_pd(xi_97, xi_97, xi_97, xi_97)); - const __m256d xi_102 = _mm256_mul_pd(_mm256_mul_pd(xi_101, xi_96), _mm256_set_pd(xi_100, xi_100, xi_100, xi_100)); - const __m256d xi_105 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_106 = _mm256_mul_pd(_mm256_mul_pd(xi_103, xi_105), _mm256_set_pd(xi_104, xi_104, xi_104, xi_104)); - const __m256d xi_109 = _mm256_mul_pd(_mm256_mul_pd(xi_108, xi_96), _mm256_set_pd(xi_107, xi_107, xi_107, xi_107)); - const __m256d xi_131 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.11904761904761904, 0.11904761904761904, 0.11904761904761904, 0.11904761904761904)); - const __m256d xi_134 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_135 = _mm256_mul_pd(xi_134, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); - const __m256d xi_136 = _mm256_mul_pd(xi_133, xi_135); - const __m256d xi_152 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_153 = _mm256_mul_pd(xi_152, _mm256_set_pd(1.4142135623730951, 1.4142135623730951, 1.4142135623730951, 1.4142135623730951)); - const __m256d xi_154 = _mm256_mul_pd(xi_153, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); - const __m256d xi_163 = _mm256_mul_pd(xi_152, _mm256_set_pd(xi_104, xi_104, xi_104, xi_104)); - const __m256d xi_164 = _mm256_mul_pd(xi_163, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_165 = _mm256_mul_pd(xi_162, xi_164); - const __m256d xi_166 = _mm256_add_pd(xi_161, xi_165); - const __m256d xi_167 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_149, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_151, xi_154)), xi_166); - const __m256d xi_169 = _mm256_mul_pd(xi_102, _mm256_set_pd(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001)); - const __m256d xi_175 = _mm256_mul_pd(_mm256_mul_pd(xi_134, xi_174), _mm256_set_pd(xi_173, xi_173, xi_173, xi_173)); - const __m256d xi_176 = _mm256_mul_pd(xi_175, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_184 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.071428571428571425, 0.071428571428571425, 0.071428571428571425, 0.071428571428571425)); - const __m256d xi_193 = _mm256_mul_pd(xi_164, xi_192); - const __m256d xi_194 = _mm256_add_pd(xi_191, xi_193); - const __m256d xi_195 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_187, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_154, xi_188)), xi_194); - const __m256d xi_197 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.042857142857142858, 0.042857142857142858, 0.042857142857142858, 0.042857142857142858)); - const __m256d xi_204 = _mm256_mul_pd(xi_164, xi_203); - const __m256d xi_205 = _mm256_add_pd(xi_202, xi_204); - const __m256d xi_206 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_199, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_154, xi_200)), xi_205); - const __m256d xi_207 = _mm256_mul_pd(_mm256_mul_pd(xi_133, xi_134), _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_210 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_214 = _mm256_add_pd(_mm256_mul_pd(xi_191, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_193, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_215 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_0)); - const __m256d xi_222 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_0)); - const __m256d xi_228 = _mm256_mul_pd(xi_163, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_229 = _mm256_mul_pd(xi_162, xi_228); - const __m256d xi_230 = _mm256_mul_pd(xi_153, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_231 = _mm256_mul_pd(xi_151, xi_230); - const __m256d xi_235 = _mm256_mul_pd(xi_203, xi_228); - const __m256d xi_236 = _mm256_mul_pd(xi_200, xi_230); - const __m256d xi_237 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_233, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_235, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_234), xi_236); - const __m256d xi_239 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)); - const __m256d xi_241 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.023809523809523808, 0.023809523809523808, 0.023809523809523808, 0.023809523809523808)); - const __m256d xi_244 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_234, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_236, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_233), xi_235); - const __m256d xi_246 = _mm256_mul_pd(xi_207, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_249 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.035714285714285712, 0.035714285714285712, 0.035714285714285712, 0.035714285714285712)); - const __m256d xi_251 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_1)); - const __m256d xi_256 = _mm256_mul_pd(xi_188, xi_230); - const __m256d xi_257 = _mm256_mul_pd(xi_192, xi_228); - const __m256d xi_258 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_254, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_256, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_255), xi_257); - const __m256d xi_260 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_255, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_257, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_254), xi_256); - const __m256d xi_0 = _mm256_div_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), rho); - const __m256d xi_10 = _mm256_mul_pd(xi_0, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); - const __m256d u_0 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_11, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_8, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), vel0Term)), _mm256_mul_pd(xi_10, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256d xi_17 = _mm256_mul_pd(u_0, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_28 = _mm256_mul_pd(xi_17, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_29 = _mm256_mul_pd(xi_28, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_30 = _mm256_mul_pd(xi_17, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_31 = _mm256_add_pd(_mm256_mul_pd(xi_30, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), xi_29); - const __m256d xi_48 = _mm256_add_pd(_mm256_mul_pd(xi_17, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_29); - const __m256d xi_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_46, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_34), xi_48); - const __m256d xi_52 = _mm256_mul_pd(xi_17, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); - const __m256d xi_59 = _mm256_mul_pd(u_0, xi_58); - const __m256d xi_64 = _mm256_mul_pd(u_0, xi_63); - const __m256d xi_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_34, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_46), xi_48); - const __m256d xi_75 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_85 = _mm256_mul_pd(u_0, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_86 = _mm256_mul_pd(xi_85, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_89 = _mm256_mul_pd(xi_85, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); - const __m256d xi_111 = _mm256_mul_pd(u_0, u_0); - const __m256d u_1 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_12, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_13, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_9, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), vel1Term)), _mm256_mul_pd(xi_10, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d xi_18 = _mm256_mul_pd(u_1, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_26 = _mm256_mul_pd(xi_18, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_36 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_42 = _mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_43 = _mm256_mul_pd(xi_18, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_53 = _mm256_mul_pd(xi_18, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); - const __m256d xi_60 = _mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_61 = _mm256_mul_pd(xi_60, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_65 = _mm256_mul_pd(u_1, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); - const __m256d xi_66 = _mm256_mul_pd(xi_65, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_67 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_64, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_66, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_59), xi_61); - const __m256d xi_69 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_59, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_61, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_64), xi_66); - const __m256d xi_77 = _mm256_mul_pd(xi_60, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_79 = _mm256_mul_pd(xi_65, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_110 = _mm256_mul_pd(rho, _mm256_mul_pd(u_1, u_1)); - const __m256d xi_117 = _mm256_mul_pd(xi_110, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_216 = _mm256_mul_pd(rho, u_1); - const __m256d xi_218 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(u_0, xi_216)), xi_12), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); - const __m256d xi_219 = _mm256_add_pd(_mm256_mul_pd(xi_215, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_218, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_220 = _mm256_add_pd(xi_215, xi_218); - const __m256d u_2 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_14, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_15, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_16, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), vel2Term)), _mm256_mul_pd(xi_10, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d xi_19 = _mm256_mul_pd(u_2, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_24 = _mm256_mul_pd(xi_19, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_25 = _mm256_mul_pd(xi_24, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_27 = _mm256_mul_pd(xi_19, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_32 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(xi_27, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_25), xi_31); - const __m256d xi_37 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_38 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_28, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.33333333333333331, -0.33333333333333331, -0.33333333333333331, -0.33333333333333331)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), xi_24), xi_26), xi_36), xi_37); - const __m256d xi_44 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_19, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(xi_43, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(xi_24, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_31), xi_42); - const __m256d xi_54 = _mm256_mul_pd(xi_19, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); - const __m256d xi_55 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_42), xi_52), xi_53), xi_54); - const __m256d xi_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_22, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_50), xi_55); - const __m256d xi_57 = _mm256_add_pd(_mm256_add_pd(xi_27, xi_37), xi_56); - const __m256d xi_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_50, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_22), xi_55); - const __m256d xi_71 = _mm256_add_pd(_mm256_add_pd(xi_27, xi_37), xi_70); - const __m256d xi_73 = _mm256_add_pd(_mm256_mul_pd(xi_19, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_25); - const __m256d xi_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_40, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_72), xi_73); - const __m256d xi_76 = _mm256_add_pd(_mm256_add_pd(xi_30, xi_56), xi_75); - const __m256d xi_78 = _mm256_mul_pd(u_2, xi_58); - const __m256d xi_80 = _mm256_mul_pd(u_2, xi_63); - const __m256d xi_81 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_77, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_78, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_79), xi_80); - const __m256d xi_82 = _mm256_add_pd(_mm256_add_pd(xi_30, xi_70), xi_75); - const __m256d xi_83 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_79, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_80, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_77), xi_78); - const __m256d xi_84 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36, xi_43), xi_52), xi_53), xi_54), xi_74); - const __m256d xi_87 = _mm256_mul_pd(u_2, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_88 = _mm256_mul_pd(xi_87, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_90 = _mm256_mul_pd(xi_87, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); - const __m256d xi_91 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_89, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_90, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_86), xi_88); - const __m256d xi_92 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_86, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_88, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_89), xi_90); - const __m256d xi_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_72, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_40), xi_73); - const __m256d xi_94 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36, xi_43), xi_52), xi_53), xi_54), xi_93); - const __m256d xi_113 = _mm256_mul_pd(rho, _mm256_mul_pd(u_2, u_2)); - const __m256d xi_114 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_113, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), xi_112); - const __m256d xi_115 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_110, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, xi_111), _mm256_set_pd(1.6666666666666667, 1.6666666666666667, 1.6666666666666667, 1.6666666666666667))), xi_114); - const __m256d xi_116 = _mm256_mul_pd(xi_115, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); - const __m256d xi_119 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_112, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_117, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_118, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_13, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_16, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_5, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(rho, xi_111)), xi_113); - const __m256d xi_120 = _mm256_mul_pd(xi_119, _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)); - const __m256d xi_122 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_110, _mm256_set_pd(2.3333333333333335, 2.3333333333333335, 2.3333333333333335, 2.3333333333333335)), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), xi_114), xi_121); - const __m256d xi_123 = _mm256_mul_pd(xi_122, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); - const __m256d xi_127 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_113, _mm256_set_pd(3.0, 3.0, 3.0, 3.0)), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-4.0, -4.0, -4.0, -4.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-4.0, -4.0, -4.0, -4.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), xi_112), xi_121), xi_124), xi_125), xi_126); - const __m256d xi_128 = _mm256_mul_pd(xi_127, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); - const __m256d xi_130 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.01984126984126984, 0.01984126984126984, 0.01984126984126984, 0.01984126984126984)); - const __m256d xi_132 = _mm256_add_pd(xi_130, xi_131); - const __m256d xi_141 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_113, xi_139), xi_140), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_142 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_117, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_137, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_138, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_141, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_15, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_2, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_4, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256d xi_143 = _mm256_mul_pd(xi_142, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)); - const __m256d xi_144 = _mm256_add_pd(_mm256_mul_pd(xi_136, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_143, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_168 = _mm256_mul_pd(xi_116, _mm256_set_pd(0.050000000000000003, 0.050000000000000003, 0.050000000000000003, 0.050000000000000003)); - const __m256d xi_170 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_110, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_118, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_129, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_141, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_147, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, xi_111), _mm256_set_pd(2.0, 2.0, 2.0, 2.0))); - const __m256d xi_171 = _mm256_mul_pd(xi_170, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256d xi_172 = _mm256_mul_pd(xi_171, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)); - const __m256d xi_177 = _mm256_add_pd(xi_172, xi_176); - const __m256d xi_178 = _mm256_add_pd(_mm256_add_pd(xi_168, xi_169), xi_177); - const __m256d xi_179 = _mm256_add_pd(_mm256_mul_pd(xi_130, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_131, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_180 = _mm256_add_pd(xi_136, xi_143); - const __m256d xi_181 = _mm256_add_pd(_mm256_mul_pd(xi_172, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_176, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_182 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_168, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_169, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_181); - const __m256d xi_183 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.035714285714285712, 0.035714285714285712, 0.035714285714285712, 0.035714285714285712)); - const __m256d xi_196 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.021428571428571429, 0.021428571428571429, 0.021428571428571429, 0.021428571428571429)); - const __m256d xi_208 = _mm256_mul_pd(xi_142, _mm256_set_pd(0.0625, 0.0625, 0.0625, 0.0625)); - const __m256d xi_209 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.013888888888888888, 0.013888888888888888, 0.013888888888888888, 0.013888888888888888)); - const __m256d xi_211 = _mm256_add_pd(_mm256_mul_pd(xi_120, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(xi_106, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))); - const __m256d xi_212 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171, _mm256_set_pd(0.020833333333333332, 0.020833333333333332, 0.020833333333333332, 0.020833333333333332)), _mm256_mul_pd(xi_175, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), xi_211); - const __m256d xi_213 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_166, xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256d xi_221 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_161, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_165, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256d xi_225 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(u_2, xi_216), xi_146), xi_155), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); - const __m256d xi_232 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_224, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_229, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_222), xi_225), xi_227), xi_231); - const __m256d xi_238 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.0071428571428571426, 0.0071428571428571426, 0.0071428571428571426, 0.0071428571428571426)); - const __m256d xi_240 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.003968253968253968, 0.003968253968253968, 0.003968253968253968, 0.003968253968253968)); - const __m256d xi_242 = _mm256_add_pd(_mm256_mul_pd(xi_240, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_241, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_243 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_116, _mm256_set_pd(0.025000000000000001, 0.025000000000000001, 0.025000000000000001, 0.025000000000000001)), _mm256_mul_pd(xi_102, _mm256_set_pd(0.050000000000000003, 0.050000000000000003, 0.050000000000000003, 0.050000000000000003))), _mm256_mul_pd(xi_238, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_239, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_181), xi_211), xi_242); - const __m256d xi_245 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_115, _mm256_set_pd(-0.025000000000000001, -0.025000000000000001, -0.025000000000000001, -0.025000000000000001)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_mul_pd(_mm256_mul_pd(xi_119, _mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664)), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_101, xi_96), _mm256_set_pd(-0.050000000000000003, -0.050000000000000003, -0.050000000000000003, -0.050000000000000003)), _mm256_set_pd(xi_100, xi_100, xi_100, xi_100))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_103, xi_105), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(xi_104, xi_104, xi_104, xi_104))), xi_177), xi_238), xi_239), xi_240), xi_241); - const __m256d xi_247 = _mm256_mul_pd(xi_208, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_248 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.017857142857142856, 0.017857142857142856, 0.017857142857142856, 0.017857142857142856)); - const __m256d xi_250 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_205, xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256d xi_252 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(rho, u_0), u_2), xi_137), xi_185), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); - const __m256d xi_253 = _mm256_add_pd(_mm256_mul_pd(xi_251, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_252, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_259 = _mm256_add_pd(xi_251, xi_252); - const __m256d xi_261 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_227, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_231, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_222), xi_224), xi_225), xi_229); - const __m256d xi_262 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_202, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_204, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256d forceTerm_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_17, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_18, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_19, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_17, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))), _mm256_mul_pd(xi_18, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))), _mm256_mul_pd(xi_19, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))); - const __m256d forceTerm_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_23, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_21), xi_32); - const __m256d forceTerm_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_21, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_23), xi_32); - const __m256d forceTerm_3 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_33, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_38, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_35); - const __m256d forceTerm_4 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_35, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_38, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_33); - const __m256d forceTerm_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_41, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_39), xi_44); - const __m256d forceTerm_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_39, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_41), xi_44); - const __m256d forceTerm_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_57, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_67, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_57, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_69, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_9 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_69, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_71, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_10 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_67, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_71, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_11 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_76, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_81, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_12 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_82, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_83, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_13 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_84, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_91, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_14 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_84, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_92, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_76, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_83, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_93, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_81, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_82, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_93, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_17 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_92, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_94, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_18 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_91, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_94, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128, _mm256_set_pd(0.023809523809523808, 0.023809523809523808, 0.023809523809523808, 0.023809523809523808)), _mm256_mul_pd(xi_99, _mm256_set_pd(0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285))), _mm256_mul_pd(xi_123, _mm256_set_pd(0.042857142857142858, 0.042857142857142858, 0.042857142857142858, 0.042857142857142858))), _mm256_mul_pd(xi_109, _mm256_set_pd(0.085714285714285715, 0.085714285714285715, 0.085714285714285715, 0.085714285714285715))), _mm256_mul_pd(xi_116, _mm256_set_pd(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001))), _mm256_mul_pd(xi_102, _mm256_set_pd(0.20000000000000001, 0.20000000000000001, 0.20000000000000001, 0.20000000000000001))), _mm256_mul_pd(xi_120, _mm256_set_pd(-0.5, -0.5, -0.5, -0.5))), _mm256_mul_pd(xi_106, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_129, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_132, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_144, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_167, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_178, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_122, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_108, xi_96), _mm256_set_pd(0.028571428571428571, 0.028571428571428571, 0.028571428571428571, 0.028571428571428571)), _mm256_set_pd(xi_107, xi_107, xi_107, xi_107))), forceTerm_1)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_123, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)), _mm256_mul_pd(xi_109, _mm256_set_pd(0.028571428571428571, 0.028571428571428571, 0.028571428571428571, 0.028571428571428571))), forceTerm_2), xi_167), xi_179), xi_180), xi_182), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_mul_pd(xi_175, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331))), _mm256_mul_pd(xi_183, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_184, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_3), xi_179), xi_195), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_132, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_183, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_184, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_189, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_195, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_170, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_134, xi_174), _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_set_pd(xi_173, xi_173, xi_173, xi_173))), forceTerm_4)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_178, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_180, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_196, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_197, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_206, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_127, _mm256_set_pd(0.015873015873015872, 0.015873015873015872, 0.015873015873015872, 0.015873015873015872)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_96, xi_98), _mm256_set_pd(0.095238095238095233, 0.095238095238095233, 0.095238095238095233, 0.095238095238095233)), _mm256_set_pd(xi_97, xi_97, xi_97, xi_97))), forceTerm_5)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128, _mm256_set_pd(0.015873015873015872, 0.015873015873015872, 0.015873015873015872, 0.015873015873015872)), _mm256_mul_pd(xi_99, _mm256_set_pd(0.095238095238095233, 0.095238095238095233, 0.095238095238095233, 0.095238095238095233))), _mm256_mul_pd(xi_196, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_197, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_6), xi_144), xi_182), xi_206), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_7, xi_213), xi_214), xi_219), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_8, xi_194), xi_213), xi_220), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)), _mm256_set_pd(v_s, v_s, v_s, v_s))), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ)), forceTerm_9), xi_214), xi_220), xi_221), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0)), _mm256_set_pd(v_s, v_s, v_s, v_s))), _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ)), forceTerm_10), xi_194), xi_219), xi_221), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_11, xi_232), xi_237), xi_243), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_156, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_232, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_244, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_245, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_12)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_13, xi_250), xi_253), xi_258), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_14, xi_250), xi_259), xi_260), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_145, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_237, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_245, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_261, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_1, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_15)); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _mm256_set_pd(grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ)), forceTerm_16), xi_243), xi_244), xi_261), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ)), forceTerm_17), xi_258), xi_259), xi_262), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0, 0.0, 0.0, 0.0), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_mul_pd(u_0, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(u_1, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0))), _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(v_s, v_s, v_s, v_s)), _mm256_cmp_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), _mm256_set_pd(((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1)), ((double)(ctr_1))), _CMP_GE_OQ)), forceTerm_18), xi_253), xi_260), xi_262), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - } - for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - - double random_7_0{}; - double random_7_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } - - double random_6_0{}; - double random_6_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + { + for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 += 4) + { + + __m256d random_7_0{}; + __m256d random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + __m256d random_6_0{}; + __m256d random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + __m256d random_5_0{}; + __m256d random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + __m256d random_4_0{}; + __m256d random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + __m256d random_3_0{}; + __m256d random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + __m256d random_2_0{}; + __m256d random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + __m256d random_1_0{}; + __m256d random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + __m256d random_0_0{}; + __m256d random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const __m256d xi_2 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_3 = _mm256_add_pd(_mm256_add_pd(xi_2,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_4 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_5 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256d xi_6 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_7 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_8 = _mm256_add_pd(xi_7,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_9 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_11 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_12 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_13 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_14 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256d xi_15 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_16 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_21 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_22 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_33 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_34 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_39 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_40 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_58 = _mm256_mul_pd(_mm256_set_pd(0.25,0.25,0.25,0.25),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_63 = _mm256_mul_pd(_mm256_set_pd(xi_62,xi_62,xi_62,xi_62),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_98 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_6_0); + const __m256d xi_101 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_7_0); + const __m256d xi_103 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_2_1); + const __m256d xi_108 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_6_1); + const __m256d xi_112 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_load_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])); + const __m256d xi_118 = _mm256_add_pd(xi_11,xi_3); + const __m256d xi_121 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256d xi_124 = _mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_125 = _mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_126 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256d xi_129 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256d xi_133 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_0_1); + const __m256d xi_137 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_138 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_139 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])); + const __m256d xi_140 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256d xi_145 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256d xi_146 = _mm256_add_pd(xi_14,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_147 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0])); + const __m256d xi_148 = _mm256_add_pd(xi_147,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256d xi_149 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_145,xi_146),xi_148),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_151 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_5_1); + const __m256d xi_155 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_156 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_157 = _mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_158 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + const __m256d xi_159 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(xi_157,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_148),xi_155),xi_156),xi_158),xi_5); + const __m256d xi_161 = _mm256_mul_pd(xi_159,_mm256_set_pd(xi_160,xi_160,xi_160,xi_160)); + const __m256d xi_162 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_3_0); + const __m256d xi_174 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_0_0); + const __m256d xi_185 = _mm256_add_pd(xi_15,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_186 = _mm256_add_pd(xi_138,xi_185); + const __m256d xi_187 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1])),xi_186),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_188 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_4_1); + const __m256d xi_189 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_190 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(xi_157,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_158,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_186,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_189,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_191 = _mm256_mul_pd(xi_190,_mm256_set_pd(xi_160,xi_160,xi_160,xi_160)); + const __m256d xi_192 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_4_0); + const __m256d xi_198 = _mm256_add_pd(_mm256_add_pd(xi_145,xi_155),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256d xi_199 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_198,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))); + const __m256d xi_200 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_5_0); + const __m256d xi_201 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_124,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_125,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_126),xi_140),xi_198),xi_6); + const __m256d xi_202 = _mm256_mul_pd(xi_201,_mm256_set_pd(xi_160,xi_160,xi_160,xi_160)); + const __m256d xi_203 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_3_1); + const __m256d xi_224 = _mm256_mul_pd(xi_159,_mm256_set_pd(xi_223,xi_223,xi_223,xi_223)); + const __m256d xi_227 = _mm256_mul_pd(xi_149,_mm256_set_pd(xi_226,xi_226,xi_226,xi_226)); + const __m256d xi_233 = _mm256_mul_pd(xi_201,_mm256_set_pd(xi_223,xi_223,xi_223,xi_223)); + const __m256d xi_234 = _mm256_mul_pd(xi_199,_mm256_set_pd(xi_226,xi_226,xi_226,xi_226)); + const __m256d xi_254 = _mm256_mul_pd(xi_187,_mm256_set_pd(xi_226,xi_226,xi_226,xi_226)); + const __m256d xi_255 = _mm256_mul_pd(xi_190,_mm256_set_pd(xi_223,xi_223,xi_223,xi_223)); + const __m256d xi_23 = _mm256_mul_pd(xi_22,_mm256_set_pd(rr_0,rr_0,rr_0,rr_0)); + const __m256d xi_35 = _mm256_mul_pd(xi_34,_mm256_set_pd(rr_0,rr_0,rr_0,rr_0)); + const __m256d xi_41 = _mm256_mul_pd(xi_40,_mm256_set_pd(rr_0,rr_0,rr_0,rr_0)); + const __m256d xi_46 = _mm256_mul_pd(_mm256_set_pd(xi_45,xi_45,xi_45,xi_45),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_50 = _mm256_mul_pd(_mm256_set_pd(xi_45,xi_45,xi_45,xi_45),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_72 = _mm256_mul_pd(_mm256_set_pd(xi_45,xi_45,xi_45,xi_45),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d vel0Term = _mm256_add_pd(xi_3,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d vel1Term = _mm256_add_pd(xi_4,xi_5); + const __m256d vel2Term = _mm256_add_pd(xi_6,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d delta_rho = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel0Term,vel1Term),vel2Term),xi_8),xi_9),_mm256_load_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256d rho = _mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),delta_rho); + const __m256d xi_95 = _mm256_mul_pd(rho,_mm256_set_pd(kT,kT,kT,kT)); + const __m256d xi_96 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_99 = _mm256_mul_pd(_mm256_mul_pd(xi_96,xi_98),_mm256_set_pd(xi_97,xi_97,xi_97,xi_97)); + const __m256d xi_102 = _mm256_mul_pd(_mm256_mul_pd(xi_101,xi_96),_mm256_set_pd(xi_100,xi_100,xi_100,xi_100)); + const __m256d xi_105 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_106 = _mm256_mul_pd(_mm256_mul_pd(xi_103,xi_105),_mm256_set_pd(xi_104,xi_104,xi_104,xi_104)); + const __m256d xi_109 = _mm256_mul_pd(_mm256_mul_pd(xi_108,xi_96),_mm256_set_pd(xi_107,xi_107,xi_107,xi_107)); + const __m256d xi_131 = _mm256_mul_pd(xi_99,_mm256_set_pd(0.11904761904761904,0.11904761904761904,0.11904761904761904,0.11904761904761904)); + const __m256d xi_134 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_135 = _mm256_mul_pd(xi_134,_mm256_set_pd(0.5,0.5,0.5,0.5)); + const __m256d xi_136 = _mm256_mul_pd(xi_133,xi_135); + const __m256d xi_152 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_153 = _mm256_mul_pd(xi_152,_mm256_set_pd(1.4142135623730951,1.4142135623730951,1.4142135623730951,1.4142135623730951)); + const __m256d xi_154 = _mm256_mul_pd(xi_153,_mm256_set_pd(0.5,0.5,0.5,0.5)); + const __m256d xi_163 = _mm256_mul_pd(xi_152,_mm256_set_pd(xi_104,xi_104,xi_104,xi_104)); + const __m256d xi_164 = _mm256_mul_pd(xi_163,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_165 = _mm256_mul_pd(xi_162,xi_164); + const __m256d xi_166 = _mm256_add_pd(xi_161,xi_165); + const __m256d xi_167 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_149,_mm256_set_pd(xi_150,xi_150,xi_150,xi_150)),_mm256_mul_pd(xi_151,xi_154)),xi_166); + const __m256d xi_169 = _mm256_mul_pd(xi_102,_mm256_set_pd(0.10000000000000001,0.10000000000000001,0.10000000000000001,0.10000000000000001)); + const __m256d xi_175 = _mm256_mul_pd(_mm256_mul_pd(xi_134,xi_174),_mm256_set_pd(xi_173,xi_173,xi_173,xi_173)); + const __m256d xi_176 = _mm256_mul_pd(xi_175,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_184 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.071428571428571425,0.071428571428571425,0.071428571428571425,0.071428571428571425)); + const __m256d xi_193 = _mm256_mul_pd(xi_164,xi_192); + const __m256d xi_194 = _mm256_add_pd(xi_191,xi_193); + const __m256d xi_195 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_187,_mm256_set_pd(xi_150,xi_150,xi_150,xi_150)),_mm256_mul_pd(xi_154,xi_188)),xi_194); + const __m256d xi_197 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.042857142857142858,0.042857142857142858,0.042857142857142858,0.042857142857142858)); + const __m256d xi_204 = _mm256_mul_pd(xi_164,xi_203); + const __m256d xi_205 = _mm256_add_pd(xi_202,xi_204); + const __m256d xi_206 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_199,_mm256_set_pd(xi_150,xi_150,xi_150,xi_150)),_mm256_mul_pd(xi_154,xi_200)),xi_205); + const __m256d xi_207 = _mm256_mul_pd(_mm256_mul_pd(xi_133,xi_134),_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_210 = _mm256_mul_pd(xi_99,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_214 = _mm256_add_pd(_mm256_mul_pd(xi_191,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_193,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_215 = _mm256_mul_pd(xi_135,_mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_1_0)); + const __m256d xi_222 = _mm256_mul_pd(xi_135,_mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_2_0)); + const __m256d xi_228 = _mm256_mul_pd(xi_163,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_229 = _mm256_mul_pd(xi_162,xi_228); + const __m256d xi_230 = _mm256_mul_pd(xi_153,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_231 = _mm256_mul_pd(xi_151,xi_230); + const __m256d xi_235 = _mm256_mul_pd(xi_203,xi_228); + const __m256d xi_236 = _mm256_mul_pd(xi_200,xi_230); + const __m256d xi_237 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_233,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_235,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_234),xi_236); + const __m256d xi_239 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.014285714285714285,0.014285714285714285,0.014285714285714285,0.014285714285714285)); + const __m256d xi_241 = _mm256_mul_pd(xi_99,_mm256_set_pd(0.023809523809523808,0.023809523809523808,0.023809523809523808,0.023809523809523808)); + const __m256d xi_244 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_234,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_236,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_233),xi_235); + const __m256d xi_246 = _mm256_mul_pd(xi_207,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_249 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.035714285714285712,0.035714285714285712,0.035714285714285712,0.035714285714285712)); + const __m256d xi_251 = _mm256_mul_pd(xi_135,_mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_1_1)); + const __m256d xi_256 = _mm256_mul_pd(xi_188,xi_230); + const __m256d xi_257 = _mm256_mul_pd(xi_192,xi_228); + const __m256d xi_258 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_254,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_256,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_255),xi_257); + const __m256d xi_260 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_255,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_257,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_254),xi_256); + const __m256d xi_0 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),rho); + const __m256d xi_10 = _mm256_mul_pd(xi_0,_mm256_set_pd(0.5,0.5,0.5,0.5)); + const __m256d u_0 = _mm256_add_pd(_mm256_mul_pd(xi_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),vel0Term)),_mm256_mul_pd(xi_10,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))); + const __m256d xi_17 = _mm256_mul_pd(u_0,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_28 = _mm256_mul_pd(xi_17,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_29 = _mm256_mul_pd(xi_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_30 = _mm256_mul_pd(xi_17,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_31 = _mm256_add_pd(_mm256_mul_pd(xi_30,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),xi_29); + const __m256d xi_48 = _mm256_add_pd(_mm256_mul_pd(xi_17,_mm256_set_pd(xi_47,xi_47,xi_47,xi_47)),xi_29); + const __m256d xi_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_34),xi_48); + const __m256d xi_52 = _mm256_mul_pd(xi_17,_mm256_set_pd(xi_51,xi_51,xi_51,xi_51)); + const __m256d xi_59 = _mm256_mul_pd(u_0,xi_58); + const __m256d xi_64 = _mm256_mul_pd(u_0,xi_63); + const __m256d xi_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_46),xi_48); + const __m256d xi_75 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0,_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_85 = _mm256_mul_pd(u_0,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_86 = _mm256_mul_pd(xi_85,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_89 = _mm256_mul_pd(xi_85,_mm256_set_pd(xi_62,xi_62,xi_62,xi_62)); + const __m256d xi_111 = _mm256_mul_pd(u_0,u_0); + const __m256d u_1 = _mm256_add_pd(_mm256_mul_pd(xi_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),vel1Term)),_mm256_mul_pd(xi_10,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]))); + const __m256d xi_18 = _mm256_mul_pd(u_1,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_26 = _mm256_mul_pd(xi_18,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_36 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1,_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_42 = _mm256_mul_pd(xi_26,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_43 = _mm256_mul_pd(xi_18,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_53 = _mm256_mul_pd(xi_18,_mm256_set_pd(xi_51,xi_51,xi_51,xi_51)); + const __m256d xi_60 = _mm256_mul_pd(u_1,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_61 = _mm256_mul_pd(xi_60,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_65 = _mm256_mul_pd(u_1,_mm256_set_pd(xi_62,xi_62,xi_62,xi_62)); + const __m256d xi_66 = _mm256_mul_pd(xi_65,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_67 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_66,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_59),xi_61); + const __m256d xi_69 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_64),xi_66); + const __m256d xi_77 = _mm256_mul_pd(xi_60,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_79 = _mm256_mul_pd(xi_65,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_110 = _mm256_mul_pd(rho,_mm256_mul_pd(u_1,u_1)); + const __m256d xi_117 = _mm256_mul_pd(xi_110,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_216 = _mm256_mul_pd(rho,u_1); + const __m256d xi_218 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(u_0,xi_216)),xi_12),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_pd(xi_217,xi_217,xi_217,xi_217)); + const __m256d xi_219 = _mm256_add_pd(_mm256_mul_pd(xi_215,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_218,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_220 = _mm256_add_pd(xi_215,xi_218); + const __m256d u_2 = _mm256_add_pd(_mm256_mul_pd(xi_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_15,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_16,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),vel2Term)),_mm256_mul_pd(xi_10,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]))); + const __m256d xi_19 = _mm256_mul_pd(u_2,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_24 = _mm256_mul_pd(xi_19,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_25 = _mm256_mul_pd(xi_24,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_27 = _mm256_mul_pd(xi_19,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_32 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18,_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331)),_mm256_mul_pd(xi_27,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_pd(_mm256_mul_pd(xi_26,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),xi_25),xi_31); + const __m256d xi_37 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2,_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_38 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_28,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_mul_pd(_mm256_mul_pd(u_0,_mm256_set_pd(-0.33333333333333331,-0.33333333333333331,-0.33333333333333331,-0.33333333333333331)),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))),xi_24),xi_26),xi_36),xi_37); + const __m256d xi_44 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_19,_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331)),_mm256_mul_pd(xi_43,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_pd(_mm256_mul_pd(xi_24,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),xi_31),xi_42); + const __m256d xi_54 = _mm256_mul_pd(xi_19,_mm256_set_pd(xi_51,xi_51,xi_51,xi_51)); + const __m256d xi_55 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18,_mm256_set_pd(xi_47,xi_47,xi_47,xi_47)),xi_42),xi_52),xi_53),xi_54); + const __m256d xi_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_50),xi_55); + const __m256d xi_57 = _mm256_add_pd(_mm256_add_pd(xi_27,xi_37),xi_56); + const __m256d xi_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_22),xi_55); + const __m256d xi_71 = _mm256_add_pd(_mm256_add_pd(xi_27,xi_37),xi_70); + const __m256d xi_73 = _mm256_add_pd(_mm256_mul_pd(xi_19,_mm256_set_pd(xi_47,xi_47,xi_47,xi_47)),xi_25); + const __m256d xi_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_72),xi_73); + const __m256d xi_76 = _mm256_add_pd(_mm256_add_pd(xi_30,xi_56),xi_75); + const __m256d xi_78 = _mm256_mul_pd(u_2,xi_58); + const __m256d xi_80 = _mm256_mul_pd(u_2,xi_63); + const __m256d xi_81 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_79),xi_80); + const __m256d xi_82 = _mm256_add_pd(_mm256_add_pd(xi_30,xi_70),xi_75); + const __m256d xi_83 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_80,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_77),xi_78); + const __m256d xi_84 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36,xi_43),xi_52),xi_53),xi_54),xi_74); + const __m256d xi_87 = _mm256_mul_pd(u_2,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_88 = _mm256_mul_pd(xi_87,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_90 = _mm256_mul_pd(xi_87,_mm256_set_pd(xi_62,xi_62,xi_62,xi_62)); + const __m256d xi_91 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_89,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_86),xi_88); + const __m256d xi_92 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_88,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_89),xi_90); + const __m256d xi_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_40),xi_73); + const __m256d xi_94 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36,xi_43),xi_52),xi_53),xi_54),xi_93); + const __m256d xi_113 = _mm256_mul_pd(rho,_mm256_mul_pd(u_2,u_2)); + const __m256d xi_114 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(xi_113,_mm256_set_pd(0.66666666666666663,0.66666666666666663,0.66666666666666663,0.66666666666666663))),xi_112); + const __m256d xi_115 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(xi_110,_mm256_set_pd(0.66666666666666663,0.66666666666666663,0.66666666666666663,0.66666666666666663))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(rho,xi_111),_mm256_set_pd(1.6666666666666667,1.6666666666666667,1.6666666666666667,1.6666666666666667))),xi_114); + const __m256d xi_116 = _mm256_mul_pd(xi_115,_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)); + const __m256d xi_119 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_112,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_117,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_118,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_16,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(rho,xi_111)),xi_113); + const __m256d xi_120 = _mm256_mul_pd(xi_119,_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk)); + const __m256d xi_122 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_110,_mm256_set_pd(2.3333333333333335,2.3333333333333335,2.3333333333333335,2.3333333333333335)),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),xi_114),xi_121); + const __m256d xi_123 = _mm256_mul_pd(xi_122,_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)); + const __m256d xi_127 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_113,_mm256_set_pd(3.0,3.0,3.0,3.0)),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))),xi_112),xi_121),xi_124),xi_125),xi_126); + const __m256d xi_128 = _mm256_mul_pd(xi_127,_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)); + const __m256d xi_130 = _mm256_mul_pd(xi_128,_mm256_set_pd(0.01984126984126984,0.01984126984126984,0.01984126984126984,0.01984126984126984)); + const __m256d xi_132 = _mm256_add_pd(xi_130,xi_131); + const __m256d xi_141 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_113,xi_139),xi_140),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_142 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_117,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_137,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_138,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_141,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_15,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_4,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256d xi_143 = _mm256_mul_pd(xi_142,_mm256_set_pd(0.125,0.125,0.125,0.125)); + const __m256d xi_144 = _mm256_add_pd(_mm256_mul_pd(xi_136,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_143,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_168 = _mm256_mul_pd(xi_116,_mm256_set_pd(0.050000000000000003,0.050000000000000003,0.050000000000000003,0.050000000000000003)); + const __m256d xi_170 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(xi_110,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_118,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_129,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_141,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_147,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_mul_pd(rho,xi_111),_mm256_set_pd(2.0,2.0,2.0,2.0))); + const __m256d xi_171 = _mm256_mul_pd(xi_170,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256d xi_172 = _mm256_mul_pd(xi_171,_mm256_set_pd(0.041666666666666664,0.041666666666666664,0.041666666666666664,0.041666666666666664)); + const __m256d xi_177 = _mm256_add_pd(xi_172,xi_176); + const __m256d xi_178 = _mm256_add_pd(_mm256_add_pd(xi_168,xi_169),xi_177); + const __m256d xi_179 = _mm256_add_pd(_mm256_mul_pd(xi_130,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_131,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_180 = _mm256_add_pd(xi_136,xi_143); + const __m256d xi_181 = _mm256_add_pd(_mm256_mul_pd(xi_172,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_176,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_182 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_168,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_169,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_181); + const __m256d xi_183 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.035714285714285712,0.035714285714285712,0.035714285714285712,0.035714285714285712)); + const __m256d xi_196 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.021428571428571429,0.021428571428571429,0.021428571428571429,0.021428571428571429)); + const __m256d xi_208 = _mm256_mul_pd(xi_142,_mm256_set_pd(0.0625,0.0625,0.0625,0.0625)); + const __m256d xi_209 = _mm256_mul_pd(xi_128,_mm256_set_pd(0.013888888888888888,0.013888888888888888,0.013888888888888888,0.013888888888888888)); + const __m256d xi_211 = _mm256_add_pd(_mm256_mul_pd(xi_120,_mm256_set_pd(0.041666666666666664,0.041666666666666664,0.041666666666666664,0.041666666666666664)),_mm256_mul_pd(xi_106,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329))); + const __m256d xi_212 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171,_mm256_set_pd(0.020833333333333332,0.020833333333333332,0.020833333333333332,0.020833333333333332)),_mm256_mul_pd(xi_175,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329))),xi_211); + const __m256d xi_213 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_166,xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256d xi_221 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_161,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_165,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256d xi_225 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(u_2,xi_216),xi_146),xi_155),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])),_mm256_set_pd(xi_217,xi_217,xi_217,xi_217)); + const __m256d xi_232 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_224,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_229,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_222),xi_225),xi_227),xi_231); + const __m256d xi_238 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.0071428571428571426,0.0071428571428571426,0.0071428571428571426,0.0071428571428571426)); + const __m256d xi_240 = _mm256_mul_pd(xi_128,_mm256_set_pd(0.003968253968253968,0.003968253968253968,0.003968253968253968,0.003968253968253968)); + const __m256d xi_242 = _mm256_add_pd(_mm256_mul_pd(xi_240,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_241,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_243 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_116,_mm256_set_pd(0.025000000000000001,0.025000000000000001,0.025000000000000001,0.025000000000000001)),_mm256_mul_pd(xi_102,_mm256_set_pd(0.050000000000000003,0.050000000000000003,0.050000000000000003,0.050000000000000003))),_mm256_mul_pd(xi_238,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_239,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_181),xi_211),xi_242); + const __m256d xi_245 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_115,_mm256_set_pd(-0.025000000000000001,-0.025000000000000001,-0.025000000000000001,-0.025000000000000001)),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)),_mm256_mul_pd(_mm256_mul_pd(xi_119,_mm256_set_pd(-0.041666666666666664,-0.041666666666666664,-0.041666666666666664,-0.041666666666666664)),_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_101,xi_96),_mm256_set_pd(-0.050000000000000003,-0.050000000000000003,-0.050000000000000003,-0.050000000000000003)),_mm256_set_pd(xi_100,xi_100,xi_100,xi_100))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_103,xi_105),_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(xi_104,xi_104,xi_104,xi_104))),xi_177),xi_238),xi_239),xi_240),xi_241); + const __m256d xi_247 = _mm256_mul_pd(xi_208,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_248 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.017857142857142856,0.017857142857142856,0.017857142857142856,0.017857142857142856)); + const __m256d xi_250 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_205,xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256d xi_252 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(rho,u_0),u_2),xi_137),xi_185),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])),_mm256_set_pd(xi_217,xi_217,xi_217,xi_217)); + const __m256d xi_253 = _mm256_add_pd(_mm256_mul_pd(xi_251,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_252,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_259 = _mm256_add_pd(xi_251,xi_252); + const __m256d xi_261 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_227,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_231,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_222),xi_224),xi_225),xi_229); + const __m256d xi_262 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_202,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_204,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256d forceTerm_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_17,_mm256_set_pd(xi_20,xi_20,xi_20,xi_20))),_mm256_mul_pd(xi_18,_mm256_set_pd(xi_20,xi_20,xi_20,xi_20))),_mm256_mul_pd(xi_19,_mm256_set_pd(xi_20,xi_20,xi_20,xi_20))); + const __m256d forceTerm_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_21),xi_32); + const __m256d forceTerm_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_23),xi_32); + const __m256d forceTerm_3 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_35); + const __m256d forceTerm_4 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_33); + const __m256d forceTerm_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_39),xi_44); + const __m256d forceTerm_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_41),xi_44); + const __m256d forceTerm_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_9 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_10 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_11 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_12 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_13 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_91,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_14 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_92,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_93,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_93,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_17 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_92,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_94,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_18 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_91,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_94,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128,_mm256_set_pd(0.023809523809523808,0.023809523809523808,0.023809523809523808,0.023809523809523808)),_mm256_mul_pd(xi_99,_mm256_set_pd(0.14285714285714285,0.14285714285714285,0.14285714285714285,0.14285714285714285))),_mm256_mul_pd(xi_123,_mm256_set_pd(0.042857142857142858,0.042857142857142858,0.042857142857142858,0.042857142857142858))),_mm256_mul_pd(xi_109,_mm256_set_pd(0.085714285714285715,0.085714285714285715,0.085714285714285715,0.085714285714285715))),_mm256_mul_pd(xi_116,_mm256_set_pd(0.10000000000000001,0.10000000000000001,0.10000000000000001,0.10000000000000001))),_mm256_mul_pd(xi_102,_mm256_set_pd(0.20000000000000001,0.20000000000000001,0.20000000000000001,0.20000000000000001))),_mm256_mul_pd(xi_120,_mm256_set_pd(-0.5,-0.5,-0.5,-0.5))),_mm256_mul_pd(xi_106,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_0),_mm256_load_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_129,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_132,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_144,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_167,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_178,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(xi_122,_mm256_set_pd(0.014285714285714285,0.014285714285714285,0.014285714285714285,0.014285714285714285)),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_108,xi_96),_mm256_set_pd(0.028571428571428571,0.028571428571428571,0.028571428571428571,0.028571428571428571)),_mm256_set_pd(xi_107,xi_107,xi_107,xi_107))),_mm256_blendv_pd(_mm256_set_pd(0.0,0.0,0.0,0.0),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho,_mm256_add_pd(_mm256_mul_pd(u_0,_mm256_set_pd(2.0,2.0,2.0,2.0)),_mm256_set_pd(v_s,v_s,v_s,v_s))),_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1))),_mm256_set_pd(grid_size,grid_size,grid_size,grid_size),_CMP_GE_OQ))),forceTerm_1)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_123,_mm256_set_pd(0.014285714285714285,0.014285714285714285,0.014285714285714285,0.014285714285714285)),_mm256_mul_pd(xi_109,_mm256_set_pd(0.028571428571428571,0.028571428571428571,0.028571428571428571,0.028571428571428571))),_mm256_blendv_pd(_mm256_set_pd(0.0,0.0,0.0,0.0),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho,_mm256_add_pd(_mm256_mul_pd(u_0,_mm256_set_pd(-2.0,-2.0,-2.0,-2.0)),_mm256_set_pd(v_s,v_s,v_s,v_s))),_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_cmp_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1))),_CMP_GE_OQ))),forceTerm_2),xi_167),xi_179),xi_180),xi_182),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_mul_pd(xi_175,_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331))),_mm256_mul_pd(xi_183,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_184,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_3),xi_179),xi_195),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_132,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_183,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_184,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_189,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_195,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(xi_170,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_134,xi_174),_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331)),_mm256_set_pd(xi_173,xi_173,xi_173,xi_173))),forceTerm_4)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_178,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_180,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_196,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_197,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_206,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(xi_127,_mm256_set_pd(0.015873015873015872,0.015873015873015872,0.015873015873015872,0.015873015873015872)),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_96,xi_98),_mm256_set_pd(0.095238095238095233,0.095238095238095233,0.095238095238095233,0.095238095238095233)),_mm256_set_pd(xi_97,xi_97,xi_97,xi_97))),forceTerm_5)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128,_mm256_set_pd(0.015873015873015872,0.015873015873015872,0.015873015873015872,0.015873015873015872)),_mm256_mul_pd(xi_99,_mm256_set_pd(0.095238095238095233,0.095238095238095233,0.095238095238095233,0.095238095238095233))),_mm256_mul_pd(xi_196,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_197,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_6),xi_144),xi_182),xi_206),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0,0.0,0.0,0.0),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_mul_pd(u_1,_mm256_set_pd(3.0,3.0,3.0,3.0))),_mm256_mul_pd(u_0,_mm256_set_pd(-2.0,-2.0,-2.0,-2.0))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1))),_mm256_set_pd(grid_size,grid_size,grid_size,grid_size),_CMP_GE_OQ)),forceTerm_7),xi_213),xi_214),xi_219),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0,0.0,0.0,0.0),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_mul_pd(u_0,_mm256_set_pd(-2.0,-2.0,-2.0,-2.0))),_mm256_mul_pd(u_1,_mm256_set_pd(-3.0,-3.0,-3.0,-3.0))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_cmp_pd(_mm256_set_pd(((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1))),_mm256_set_pd(grid_size,grid_size,grid_size,grid_size),_CMP_GE_OQ)),forceTerm_8),xi_194),xi_213),xi_220),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0,0.0,0.0,0.0),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_mul_pd(u_0,_mm256_set_pd(2.0,2.0,2.0,2.0))),_mm256_mul_pd(u_1,_mm256_set_pd(3.0,3.0,3.0,3.0))),_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_cmp_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1))),_CMP_GE_OQ)),forceTerm_9),xi_214),xi_220),xi_221),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_blendv_pd(_mm256_set_pd(0.0,0.0,0.0,0.0),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(rho,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_mul_pd(u_0,_mm256_set_pd(2.0,2.0,2.0,2.0))),_mm256_mul_pd(u_1,_mm256_set_pd(-3.0,-3.0,-3.0,-3.0))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_set_pd(v_s,v_s,v_s,v_s)),_mm256_cmp_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),_mm256_set_pd(((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1)),((double)(ctr_1))),_CMP_GE_OQ)),forceTerm_10),xi_194),xi_219),xi_221),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_11,xi_232),xi_237),xi_243),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_156,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_232,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_244,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_245,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_12)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_13,xi_250),xi_253),xi_258),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_14,xi_250),xi_259),xi_260),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_145,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_237,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_245,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_261,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_15)); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_16,xi_243),xi_244),xi_261),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_17,xi_258),xi_259),xi_262),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_18,xi_253),xi_260),xi_262),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + } + for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const double xi_2 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_4 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_5 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const double xi_6 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const double xi_7 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_9 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const double xi_11 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_12 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_13 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const double xi_14 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const double xi_15 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_16 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_21 = 0.16666666666666666*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_22 = 0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_33 = 0.16666666666666666*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_34 = 0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_39 = 0.16666666666666666*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_40 = 0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_58 = 0.25*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_63 = xi_62*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_98 = random_6_0 - 0.5; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_124 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_125 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_126 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_129 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_138 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_139 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const double xi_140 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const double xi_145 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const double xi_147 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const double xi_156 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const double xi_157 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_158 = -2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_161 = xi_159*xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_191 = xi_160*xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160*xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_224 = xi_159*xi_223; + const double xi_227 = xi_149*xi_226; + const double xi_233 = xi_201*xi_223; + const double xi_234 = xi_199*xi_226; + const double xi_254 = xi_187*xi_226; + const double xi_255 = xi_190*xi_223; + const double xi_23 = rr_0*xi_22; + const double xi_35 = rr_0*xi_34; + const double xi_41 = rr_0*xi_40; + const double xi_46 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_50 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_72 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const double rho = delta_rho + 1.0; + const double xi_95 = kT*rho; + const double xi_96 = pow(xi_95*(1.0 - ((-omega_even + 1.0)*(-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96*xi_97*xi_98; + const double xi_102 = xi_100*xi_101*xi_96; + const double xi_105 = pow(xi_95*(1.0 - ((-omega_bulk + 1.0)*(-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103*xi_104*xi_105; + const double xi_109 = xi_107*xi_108*xi_96; + const double xi_131 = xi_99*0.11904761904761904; + const double xi_134 = pow(xi_95*(1.0 - ((-omega_shear + 1.0)*(-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134*0.5; + const double xi_136 = xi_133*xi_135; + const double xi_152 = pow(xi_95*(1.0 - ((-omega_odd + 1.0)*(-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152*1.4142135623730951; + const double xi_154 = xi_153*0.5; + const double xi_163 = xi_104*xi_152; + const double xi_164 = xi_163*0.16666666666666666; + const double xi_165 = xi_162*xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const double xi_169 = xi_102*0.10000000000000001; + const double xi_175 = xi_134*xi_173*xi_174; + const double xi_176 = xi_175*0.16666666666666666; + const double xi_184 = xi_109*0.071428571428571425; + const double xi_193 = xi_164*xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const double xi_197 = xi_109*0.042857142857142858; + const double xi_204 = xi_164*xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const double xi_207 = xi_133*xi_134*0.25; + const double xi_210 = xi_99*0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135*(random_1_0 - 0.5); + const double xi_222 = xi_135*(random_2_0 - 0.5); + const double xi_228 = xi_163*0.083333333333333329; + const double xi_229 = xi_162*xi_228; + const double xi_230 = xi_153*0.25; + const double xi_231 = xi_151*xi_230; + const double xi_235 = xi_203*xi_228; + const double xi_236 = xi_200*xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109*0.014285714285714285; + const double xi_241 = xi_99*0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109*0.035714285714285712; + const double xi_251 = xi_135*(random_1_1 - 0.5); + const double xi_256 = xi_188*xi_230; + const double xi_257 = xi_192*xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0*0.5; + const double u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_17 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_28 = xi_17*0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17*0.083333333333333329; + const double xi_31 = omega_shear*xi_30 + xi_29; + const double xi_48 = xi_17*xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17*xi_51; + const double xi_59 = u_0*xi_58; + const double xi_64 = u_0*xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear*u_0*-0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_85 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_86 = xi_85*0.25; + const double xi_89 = xi_62*xi_85; + const double xi_111 = (u_0*u_0); + const double u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_18 = u_1*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_26 = xi_18*0.16666666666666666; + const double xi_36 = omega_shear*u_1*-0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18*0.083333333333333329; + const double xi_53 = xi_18*xi_51; + const double xi_60 = u_1*0.25; + const double xi_61 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_65 = u_1*xi_62; + const double xi_66 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_79 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_110 = rho*(u_1*u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho*u_1; + const double xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_19 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_24 = xi_19*0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19*0.083333333333333329; + const double xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear*u_2*-0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19*xi_51; + const double xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19*xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2*xi_58; + const double xi_80 = u_2*xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_88 = xi_87*0.25; + const double xi_90 = xi_62*xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho*(u_2*u_2); + const double xi_114 = xi_112 + xi_113*0.66666666666666663 + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const double xi_115 = rho*xi_111*1.6666666666666667 + xi_110*0.66666666666666663 + xi_114 - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_116 = omega_even*xi_115; + const double xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk*xi_119; + const double xi_122 = xi_110*2.3333333333333335 + xi_114 + xi_121 - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_123 = omega_even*xi_122; + const double xi_127 = xi_112 + xi_113*3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - 4.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_128 = omega_even*xi_127; + const double xi_130 = xi_128*0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]); + const double xi_143 = xi_142*0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116*0.050000000000000003; + const double xi_170 = rho*xi_111*2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_171 = omega_shear*xi_170; + const double xi_172 = xi_171*0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123*0.035714285714285712; + const double xi_196 = xi_123*0.021428571428571429; + const double xi_208 = xi_142*0.0625; + const double xi_209 = xi_128*0.013888888888888888; + const double xi_211 = xi_106*0.083333333333333329 + xi_120*0.041666666666666664; + const double xi_212 = xi_171*0.020833333333333332 + xi_175*0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123*0.0071428571428571426; + const double xi_240 = xi_128*0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102*0.050000000000000003 + xi_116*0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk*xi_119*-0.041666666666666664 + omega_even*xi_115*-0.025000000000000001 + xi_100*xi_101*xi_96*-0.050000000000000003 + xi_103*xi_104*xi_105*-0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123*0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0] = forceTerm_0 + xi_102*0.20000000000000001 - xi_106 + xi_109*0.085714285714285715 + xi_116*0.10000000000000001 + xi_120*-0.5 + xi_123*0.042857142857142858 + xi_128*0.023809523809523808 + xi_99*0.14285714285714285 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even*xi_122*0.014285714285714285 + xi_107*xi_108*xi_96*0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + v_s)*0.16666666666666666): (0.0)); + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109*0.028571428571428571 + xi_123*0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + v_s)*0.16666666666666666): (0.0)) + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171*0.083333333333333329 + xi_175*0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329 - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even*xi_127*0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128*0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + u_1*3.0 - v_s + 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + u_1*-3.0 - v_s - 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + u_1*3.0 - v_s - 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + u_1*-3.0 - v_s + 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + } } + } + } + } +} +} - double random_5_0{}; - double random_5_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } - double random_4_0{}; - double random_4_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } +void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } + } - double random_3_0{}; - double random_3_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } + auto & v_s = this->v_s_; + auto & block_offset_0 = this->block_offset_0_; + auto & grid_size = this->grid_size_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); - double random_2_0{}; - double random_2_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } +} - double random_1_0{}; - double random_1_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } - double random_0_0{}; - double random_0_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const double xi_2 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_4 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_5 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const double xi_6 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const double xi_7 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_9 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const double xi_11 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_12 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_13 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const double xi_14 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const double xi_15 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_16 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_58 = 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_63 = xi_62 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_98 = random_6_0 - 0.5; - const double xi_101 = random_7_0 - 0.5; - const double xi_103 = random_2_1 - 0.5; - const double xi_108 = random_6_1 - 0.5; - const double xi_112 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const double xi_118 = xi_11 + xi_3; - const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_129 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_133 = random_0_1 - 0.5; - const double xi_137 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_138 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_139 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const double xi_140 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const double xi_145 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; - const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const double xi_147 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const double xi_151 = random_5_1 - 0.5; - const double xi_155 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const double xi_156 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_161 = xi_159 * xi_160; - const double xi_162 = random_3_0 - 0.5; - const double xi_174 = random_0_0 - 0.5; - const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_186 = xi_138 + xi_185; - const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_188 = random_4_1 - 0.5; - const double xi_189 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_191 = xi_160 * xi_190; - const double xi_192 = random_4_0 - 0.5; - const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const double xi_200 = random_5_0 - 0.5; - const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const double xi_202 = xi_160 * xi_201; - const double xi_203 = random_3_1 - 0.5; - const double xi_224 = xi_159 * xi_223; - const double xi_227 = xi_149 * xi_226; - const double xi_233 = xi_201 * xi_223; - const double xi_234 = xi_199 * xi_226; - const double xi_254 = xi_187 * xi_226; - const double xi_255 = xi_190 * xi_223; - const double xi_23 = rr_0 * xi_22; - const double xi_35 = rr_0 * xi_34; - const double xi_41 = rr_0 * xi_40; - const double xi_46 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_50 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_72 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const double vel1Term = xi_4 + xi_5; - const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const double rho = delta_rho + 1.0; - const double xi_95 = kT * rho; - const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); - const double xi_99 = xi_96 * xi_97 * xi_98; - const double xi_102 = xi_100 * xi_101 * xi_96; - const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); - const double xi_106 = xi_103 * xi_104 * xi_105; - const double xi_109 = xi_107 * xi_108 * xi_96; - const double xi_131 = xi_99 * 0.11904761904761904; - const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); - const double xi_135 = xi_134 * 0.5; - const double xi_136 = xi_133 * xi_135; - const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); - const double xi_153 = xi_152 * 1.4142135623730951; - const double xi_154 = xi_153 * 0.5; - const double xi_163 = xi_104 * xi_152; - const double xi_164 = xi_163 * 0.16666666666666666; - const double xi_165 = xi_162 * xi_164; - const double xi_166 = xi_161 + xi_165; - const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const double xi_169 = xi_102 * 0.10000000000000001; - const double xi_175 = xi_134 * xi_173 * xi_174; - const double xi_176 = xi_175 * 0.16666666666666666; - const double xi_184 = xi_109 * 0.071428571428571425; - const double xi_193 = xi_164 * xi_192; - const double xi_194 = xi_191 + xi_193; - const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const double xi_197 = xi_109 * 0.042857142857142858; - const double xi_204 = xi_164 * xi_203; - const double xi_205 = xi_202 + xi_204; - const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const double xi_207 = xi_133 * xi_134 * 0.25; - const double xi_210 = xi_99 * 0.083333333333333329; - const double xi_214 = -xi_191 - xi_193; - const double xi_215 = xi_135 * (random_1_0 - 0.5); - const double xi_222 = xi_135 * (random_2_0 - 0.5); - const double xi_228 = xi_163 * 0.083333333333333329; - const double xi_229 = xi_162 * xi_228; - const double xi_230 = xi_153 * 0.25; - const double xi_231 = xi_151 * xi_230; - const double xi_235 = xi_203 * xi_228; - const double xi_236 = xi_200 * xi_230; - const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const double xi_239 = xi_109 * 0.014285714285714285; - const double xi_241 = xi_99 * 0.023809523809523808; - const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const double xi_246 = -xi_207; - const double xi_249 = xi_109 * 0.035714285714285712; - const double xi_251 = xi_135 * (random_1_1 - 0.5); - const double xi_256 = xi_188 * xi_230; - const double xi_257 = xi_192 * xi_228; - const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const double xi_0 = ((1.0) / (rho)); - const double xi_10 = xi_0 * 0.5; - const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_17 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_28 = xi_17 * 0.16666666666666666; - const double xi_29 = -xi_28; - const double xi_30 = xi_17 * 0.083333333333333329; - const double xi_31 = omega_shear * xi_30 + xi_29; - const double xi_48 = xi_17 * xi_47 + xi_29; - const double xi_49 = xi_34 - xi_46 + xi_48; - const double xi_52 = xi_17 * xi_51; - const double xi_59 = u_0 * xi_58; - const double xi_64 = u_0 * xi_63; - const double xi_68 = -xi_34 + xi_46 + xi_48; - const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_85 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_86 = xi_85 * 0.25; - const double xi_89 = xi_62 * xi_85; - const double xi_111 = (u_0 * u_0); - const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_18 = u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_26 = xi_18 * 0.16666666666666666; - const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_42 = -xi_26; - const double xi_43 = xi_18 * 0.083333333333333329; - const double xi_53 = xi_18 * xi_51; - const double xi_60 = u_1 * 0.25; - const double xi_61 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_65 = u_1 * xi_62; - const double xi_66 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const double xi_77 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_79 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_110 = rho * (u_1 * u_1); - const double xi_117 = -xi_110; - const double xi_216 = rho * u_1; - const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]); - const double xi_219 = -xi_215 - xi_218; - const double xi_220 = xi_215 + xi_218; - const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_19 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_24 = xi_19 * 0.16666666666666666; - const double xi_25 = -xi_24; - const double xi_27 = xi_19 * 0.083333333333333329; - const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; - const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; - const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; - const double xi_54 = xi_19 * xi_51; - const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const double xi_56 = -xi_22 + xi_50 + xi_55; - const double xi_57 = xi_27 + xi_37 + xi_56; - const double xi_70 = xi_22 - xi_50 + xi_55; - const double xi_71 = xi_27 + xi_37 + xi_70; - const double xi_73 = xi_19 * xi_47 + xi_25; - const double xi_74 = -xi_40 + xi_72 + xi_73; - const double xi_76 = xi_30 + xi_56 + xi_75; - const double xi_78 = u_2 * xi_58; - const double xi_80 = u_2 * xi_63; - const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const double xi_82 = xi_30 + xi_70 + xi_75; - const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const double xi_87 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_88 = xi_87 * 0.25; - const double xi_90 = xi_62 * xi_87; - const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const double xi_93 = xi_40 - xi_72 + xi_73; - const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const double xi_113 = rho * (u_2 * u_2); - const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_116 = omega_even * xi_115; - const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const double xi_120 = omega_bulk * xi_119; - const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_123 = omega_even * xi_122; - const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 4.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_128 = omega_even * xi_127; - const double xi_130 = xi_128 * 0.01984126984126984; - const double xi_132 = xi_130 + xi_131; - const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]); - const double xi_143 = xi_142 * 0.125; - const double xi_144 = -xi_136 - xi_143; - const double xi_168 = xi_116 * 0.050000000000000003; - const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_171 = omega_shear * xi_170; - const double xi_172 = xi_171 * 0.041666666666666664; - const double xi_177 = xi_172 + xi_176; - const double xi_178 = xi_168 + xi_169 + xi_177; - const double xi_179 = -xi_130 - xi_131; - const double xi_180 = xi_136 + xi_143; - const double xi_181 = -xi_172 - xi_176; - const double xi_182 = -xi_168 - xi_169 + xi_181; - const double xi_183 = xi_123 * 0.035714285714285712; - const double xi_196 = xi_123 * 0.021428571428571429; - const double xi_208 = xi_142 * 0.0625; - const double xi_209 = xi_128 * 0.013888888888888888; - const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; - const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; - const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]); - const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const double xi_238 = xi_123 * 0.0071428571428571426; - const double xi_240 = xi_128 * 0.003968253968253968; - const double xi_242 = -xi_240 - xi_241; - const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const double xi_247 = -xi_208; - const double xi_248 = xi_123 * 0.017857142857142856; - const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]); - const double xi_253 = -xi_251 - xi_252; - const double xi_259 = xi_251 + xi_252; - const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const double forceTerm_1 = xi_21 - xi_23 + xi_32; - const double forceTerm_2 = -xi_21 + xi_23 + xi_32; - const double forceTerm_3 = -xi_33 + xi_35 - xi_38; - const double forceTerm_4 = xi_33 - xi_35 - xi_38; - const double forceTerm_5 = xi_39 - xi_41 + xi_44; - const double forceTerm_6 = -xi_39 + xi_41 + xi_44; - const double forceTerm_7 = -xi_49 - xi_57 - xi_67; - const double forceTerm_8 = -xi_57 - xi_68 - xi_69; - const double forceTerm_9 = -xi_49 - xi_69 - xi_71; - const double forceTerm_10 = -xi_67 - xi_68 - xi_71; - const double forceTerm_11 = -xi_74 - xi_76 - xi_81; - const double forceTerm_12 = -xi_74 - xi_82 - xi_83; - const double forceTerm_13 = -xi_49 - xi_84 - xi_91; - const double forceTerm_14 = -xi_68 - xi_84 - xi_92; - const double forceTerm_15 = -xi_76 - xi_83 - xi_93; - const double forceTerm_16 = -xi_81 - xi_82 - xi_93; - const double forceTerm_17 = -xi_49 - xi_92 - xi_94; - const double forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)); - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - } +void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; + + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; } - } } - } -} -} // namespace internal_08be08b6e7ea45132a735524ef494de6 -void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + auto & v_s = this->v_s_; + auto & block_offset_0 = this->block_offset_0_; + auto & grid_size = this->grid_size_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &grid_size = this->grid_size_; - auto &block_offset_0 = this->block_offset_0_; - auto &v_s = this->v_s_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); } -void StreamCollideSweepLeesEdwardsDoublePrecisionAVX::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; - - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &grid_size = this->grid_size_; - auto &block_offset_0 = this->block_offset_0_; - auto &v_s = this->v_s_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_08be08b6e7ea45132a735524ef494de6::streamcollidesweepleesedwardsdoubleprecisionavx_streamcollidesweepleesedwardsdoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); -} } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu index 86875688ed..c8878ec9c3 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.cu @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepLeesEdwardsDoublePrecisionCUDA.h" + #include "philox_rand.h" + + #define FUNC_PREFIX __global__ -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,522 +51,540 @@ using namespace std; namespace walberla { namespace pystencils { -namespace internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda { -static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) { - if (blockDim.x * blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y * blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z * blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) { - const int64_t ctr_0 = blockDim.x * blockIdx.x + threadIdx.x + 1; - const int64_t ctr_1 = blockDim.y * blockIdx.y + threadIdx.y + 1; - const int64_t ctr_2 = blockDim.z * blockIdx.z + threadIdx.z + 1; - double random_7_0{}; - double random_7_1{}; - if (kT > 0.) { +namespace internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda { +static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda(double * RESTRICT const _data_force, double * RESTRICT const _data_pdfs, double * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double grid_size, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step, double v_s) +{ + if (blockDim.x*blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y*blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z*blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x + 1; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y + 1; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z + 1; + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } - - double random_6_0{}; - double random_6_1{}; - if (kT > 0.) { + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); - } - - double random_5_0{}; - double random_5_1{}; - if (kT > 0.) { + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } - - double random_4_0{}; - double random_4_1{}; - if (kT > 0.) { + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } - - double random_3_0{}; - double random_3_1{}; - if (kT > 0.) { + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } - - double random_2_0{}; - double random_2_1{}; - if (kT > 0.) { + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } - - double random_1_0{}; - double random_1_1{}; - if (kT > 0.) { + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } - - double random_0_0{}; - double random_0_1{}; - if (kT > 0.) { + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const double xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const double xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_20 = omega_bulk * 0.5; - const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_47 = omega_shear * 0.041666666666666664; - const double xi_51 = omega_bulk * 0.041666666666666664; - const double xi_58 = 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_62 = omega_shear * 0.125; - const double xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_97 = 3.7416573867739413; - const double xi_98 = random_6_0 - 0.5; - const double xi_100 = 5.4772255750516612; - const double xi_101 = random_7_0 - 0.5; - const double xi_103 = random_2_1 - 0.5; - const double xi_104 = 2.4494897427831779; - const double xi_107 = 8.3666002653407556; - const double xi_108 = random_6_1 - 0.5; - const double xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double xi_118 = xi_11 + xi_3; - const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_133 = random_0_1 - 0.5; - const double xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_150 = omega_odd * 0.25; - const double xi_151 = random_5_1 - 0.5; - const double xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_160 = omega_odd * 0.083333333333333329; - const double xi_161 = xi_159 * xi_160; - const double xi_162 = random_3_0 - 0.5; - const double xi_173 = 1.7320508075688772; - const double xi_174 = random_0_0 - 0.5; - const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_186 = xi_138 + xi_185; - const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_188 = random_4_1 - 0.5; - const double xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_191 = xi_160 * xi_190; - const double xi_192 = random_4_0 - 0.5; - const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_200 = random_5_0 - 0.5; - const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const double xi_202 = xi_160 * xi_201; - const double xi_203 = random_3_1 - 0.5; - const double xi_217 = omega_shear * 0.25; - const double xi_223 = omega_odd * 0.041666666666666664; - const double xi_224 = xi_159 * xi_223; - const double xi_226 = omega_odd * 0.125; - const double xi_227 = xi_149 * xi_226; - const double xi_233 = xi_201 * xi_223; - const double xi_234 = xi_199 * xi_226; - const double xi_254 = xi_187 * xi_226; - const double xi_255 = xi_190 * xi_223; - const double rr_0 = 0.0; - const double xi_23 = rr_0 * xi_22; - const double xi_35 = rr_0 * xi_34; - const double xi_41 = rr_0 * xi_40; - const double xi_45 = rr_0 * 0.041666666666666664; - const double xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double vel1Term = xi_4 + xi_5; - const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double rho = delta_rho + 1.0; - const double xi_95 = kT * rho; - const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); - const double xi_99 = xi_96 * xi_97 * xi_98; - const double xi_102 = xi_100 * xi_101 * xi_96; - const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); - const double xi_106 = xi_103 * xi_104 * xi_105; - const double xi_109 = xi_107 * xi_108 * xi_96; - const double xi_131 = xi_99 * 0.11904761904761904; - const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); - const double xi_135 = xi_134 * 0.5; - const double xi_136 = xi_133 * xi_135; - const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); - const double xi_153 = xi_152 * 1.4142135623730951; - const double xi_154 = xi_153 * 0.5; - const double xi_163 = xi_104 * xi_152; - const double xi_164 = xi_163 * 0.16666666666666666; - const double xi_165 = xi_162 * xi_164; - const double xi_166 = xi_161 + xi_165; - const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const double xi_169 = xi_102 * 0.10000000000000001; - const double xi_175 = xi_134 * xi_173 * xi_174; - const double xi_176 = xi_175 * 0.16666666666666666; - const double xi_184 = xi_109 * 0.071428571428571425; - const double xi_193 = xi_164 * xi_192; - const double xi_194 = xi_191 + xi_193; - const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const double xi_197 = xi_109 * 0.042857142857142858; - const double xi_204 = xi_164 * xi_203; - const double xi_205 = xi_202 + xi_204; - const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const double xi_207 = xi_133 * xi_134 * 0.25; - const double xi_210 = xi_99 * 0.083333333333333329; - const double xi_214 = -xi_191 - xi_193; - const double xi_215 = xi_135 * (random_1_0 - 0.5); - const double xi_222 = xi_135 * (random_2_0 - 0.5); - const double xi_228 = xi_163 * 0.083333333333333329; - const double xi_229 = xi_162 * xi_228; - const double xi_230 = xi_153 * 0.25; - const double xi_231 = xi_151 * xi_230; - const double xi_235 = xi_203 * xi_228; - const double xi_236 = xi_200 * xi_230; - const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const double xi_239 = xi_109 * 0.014285714285714285; - const double xi_241 = xi_99 * 0.023809523809523808; - const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const double xi_246 = -xi_207; - const double xi_249 = xi_109 * 0.035714285714285712; - const double xi_251 = xi_135 * (random_1_1 - 0.5); - const double xi_256 = xi_188 * xi_230; - const double xi_257 = xi_192 * xi_228; - const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const double xi_0 = ((1.0) / (rho)); - const double xi_10 = xi_0 * 0.5; - const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_28 = xi_17 * 0.16666666666666666; - const double xi_29 = -xi_28; - const double xi_30 = xi_17 * 0.083333333333333329; - const double xi_31 = omega_shear * xi_30 + xi_29; - const double xi_48 = xi_17 * xi_47 + xi_29; - const double xi_49 = xi_34 - xi_46 + xi_48; - const double xi_52 = xi_17 * xi_51; - const double xi_59 = u_0 * xi_58; - const double xi_64 = u_0 * xi_63; - const double xi_68 = -xi_34 + xi_46 + xi_48; - const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_86 = xi_85 * 0.25; - const double xi_89 = xi_62 * xi_85; - const double xi_111 = u_0 * u_0; - const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_26 = xi_18 * 0.16666666666666666; - const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_42 = -xi_26; - const double xi_43 = xi_18 * 0.083333333333333329; - const double xi_53 = xi_18 * xi_51; - const double xi_60 = u_1 * 0.25; - const double xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_65 = u_1 * xi_62; - const double xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const double xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_110 = rho * (u_1 * u_1); - const double xi_117 = -xi_110; - const double xi_216 = rho * u_1; - const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const double xi_219 = -xi_215 - xi_218; - const double xi_220 = xi_215 + xi_218; - const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_24 = xi_19 * 0.16666666666666666; - const double xi_25 = -xi_24; - const double xi_27 = xi_19 * 0.083333333333333329; - const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; - const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; - const double xi_54 = xi_19 * xi_51; - const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const double xi_56 = -xi_22 + xi_50 + xi_55; - const double xi_57 = xi_27 + xi_37 + xi_56; - const double xi_70 = xi_22 - xi_50 + xi_55; - const double xi_71 = xi_27 + xi_37 + xi_70; - const double xi_73 = xi_19 * xi_47 + xi_25; - const double xi_74 = -xi_40 + xi_72 + xi_73; - const double xi_76 = xi_30 + xi_56 + xi_75; - const double xi_78 = u_2 * xi_58; - const double xi_80 = u_2 * xi_63; - const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const double xi_82 = xi_30 + xi_70 + xi_75; - const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const double xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_88 = xi_87 * 0.25; - const double xi_90 = xi_62 * xi_87; - const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const double xi_93 = xi_40 - xi_72 + xi_73; - const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const double xi_113 = rho * (u_2 * u_2); - const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_116 = omega_even * xi_115; - const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const double xi_120 = omega_bulk * xi_119; - const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_123 = omega_even * xi_122; - const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_128 = omega_even * xi_127; - const double xi_130 = xi_128 * 0.01984126984126984; - const double xi_132 = xi_130 + xi_131; - const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const double xi_143 = xi_142 * 0.125; - const double xi_144 = -xi_136 - xi_143; - const double xi_168 = xi_116 * 0.050000000000000003; - const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_171 = omega_shear * xi_170; - const double xi_172 = xi_171 * 0.041666666666666664; - const double xi_177 = xi_172 + xi_176; - const double xi_178 = xi_168 + xi_169 + xi_177; - const double xi_179 = -xi_130 - xi_131; - const double xi_180 = xi_136 + xi_143; - const double xi_181 = -xi_172 - xi_176; - const double xi_182 = -xi_168 - xi_169 + xi_181; - const double xi_183 = xi_123 * 0.035714285714285712; - const double xi_196 = xi_123 * 0.021428571428571429; - const double xi_208 = xi_142 * 0.0625; - const double xi_209 = xi_128 * 0.013888888888888888; - const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; - const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; - const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const double xi_238 = xi_123 * 0.0071428571428571426; - const double xi_240 = xi_128 * 0.003968253968253968; - const double xi_242 = -xi_240 - xi_241; - const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const double xi_247 = -xi_208; - const double xi_248 = xi_123 * 0.017857142857142856; - const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const double xi_253 = -xi_251 - xi_252; - const double xi_259 = xi_251 + xi_252; - const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const double forceTerm_1 = xi_21 - xi_23 + xi_32; - const double forceTerm_2 = -xi_21 + xi_23 + xi_32; - const double forceTerm_3 = -xi_33 + xi_35 - xi_38; - const double forceTerm_4 = xi_33 - xi_35 - xi_38; - const double forceTerm_5 = xi_39 - xi_41 + xi_44; - const double forceTerm_6 = -xi_39 + xi_41 + xi_44; - const double forceTerm_7 = -xi_49 - xi_57 - xi_67; - const double forceTerm_8 = -xi_57 - xi_68 - xi_69; - const double forceTerm_9 = -xi_49 - xi_69 - xi_71; - const double forceTerm_10 = -xi_67 - xi_68 - xi_71; - const double forceTerm_11 = -xi_74 - xi_76 - xi_81; - const double forceTerm_12 = -xi_74 - xi_82 - xi_83; - const double forceTerm_13 = -xi_49 - xi_84 - xi_91; - const double forceTerm_14 = -xi_68 - xi_84 - xi_92; - const double forceTerm_15 = -xi_76 - xi_83 - xi_93; - const double forceTerm_16 = -xi_81 - xi_82 - xi_93; - const double forceTerm_17 = -xi_49 - xi_92 - xi_94; - const double forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + v_s) * 0.16666666666666666) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * 3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)); - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + ((grid_size <= ((double)(ctr_1))) ? (rho * v_s * (u_0 * -2.0 + u_1 * -3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * 3.0 - v_s - 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + ((1.0 >= ((double)(ctr_1))) ? (rho * v_s * (u_0 * 2.0 + u_1 * -3.0 - v_s + 1.0) * 0.083333333333333329) : (0.0)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - } + } + const double xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const double xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_20 = omega_bulk*0.5; + const double xi_21 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_22 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_33 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_34 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_39 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_40 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_47 = omega_shear*0.041666666666666664; + const double xi_51 = omega_bulk*0.041666666666666664; + const double xi_58 = 0.25*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_62 = omega_shear*0.125; + const double xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_97 = 3.7416573867739413; + const double xi_98 = random_6_0 - 0.5; + const double xi_100 = 5.4772255750516612; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_124 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_125 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_126 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_150 = omega_odd*0.25; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_157 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_158 = -2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_160 = omega_odd*0.083333333333333329; + const double xi_161 = xi_159*xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_173 = 1.7320508075688772; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_191 = xi_160*xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160*xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_217 = omega_shear*0.25; + const double xi_223 = omega_odd*0.041666666666666664; + const double xi_224 = xi_159*xi_223; + const double xi_226 = omega_odd*0.125; + const double xi_227 = xi_149*xi_226; + const double xi_233 = xi_201*xi_223; + const double xi_234 = xi_199*xi_226; + const double xi_254 = xi_187*xi_226; + const double xi_255 = xi_190*xi_223; + const double rr_0 = 0.0; + const double xi_23 = rr_0*xi_22; + const double xi_35 = rr_0*xi_34; + const double xi_41 = rr_0*xi_40; + const double xi_45 = rr_0*0.041666666666666664; + const double xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double rho = delta_rho + 1.0; + const double xi_95 = kT*rho; + const double xi_96 = pow(xi_95*(1.0 - ((-omega_even + 1.0)*(-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96*xi_97*xi_98; + const double xi_102 = xi_100*xi_101*xi_96; + const double xi_105 = pow(xi_95*(1.0 - ((-omega_bulk + 1.0)*(-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103*xi_104*xi_105; + const double xi_109 = xi_107*xi_108*xi_96; + const double xi_131 = xi_99*0.11904761904761904; + const double xi_134 = pow(xi_95*(1.0 - ((-omega_shear + 1.0)*(-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134*0.5; + const double xi_136 = xi_133*xi_135; + const double xi_152 = pow(xi_95*(1.0 - ((-omega_odd + 1.0)*(-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152*1.4142135623730951; + const double xi_154 = xi_153*0.5; + const double xi_163 = xi_104*xi_152; + const double xi_164 = xi_163*0.16666666666666666; + const double xi_165 = xi_162*xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const double xi_169 = xi_102*0.10000000000000001; + const double xi_175 = xi_134*xi_173*xi_174; + const double xi_176 = xi_175*0.16666666666666666; + const double xi_184 = xi_109*0.071428571428571425; + const double xi_193 = xi_164*xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const double xi_197 = xi_109*0.042857142857142858; + const double xi_204 = xi_164*xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const double xi_207 = xi_133*xi_134*0.25; + const double xi_210 = xi_99*0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135*(random_1_0 - 0.5); + const double xi_222 = xi_135*(random_2_0 - 0.5); + const double xi_228 = xi_163*0.083333333333333329; + const double xi_229 = xi_162*xi_228; + const double xi_230 = xi_153*0.25; + const double xi_231 = xi_151*xi_230; + const double xi_235 = xi_203*xi_228; + const double xi_236 = xi_200*xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109*0.014285714285714285; + const double xi_241 = xi_99*0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109*0.035714285714285712; + const double xi_251 = xi_135*(random_1_1 - 0.5); + const double xi_256 = xi_188*xi_230; + const double xi_257 = xi_192*xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0*0.5; + const double u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_28 = xi_17*0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17*0.083333333333333329; + const double xi_31 = omega_shear*xi_30 + xi_29; + const double xi_48 = xi_17*xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17*xi_51; + const double xi_59 = u_0*xi_58; + const double xi_64 = u_0*xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear*u_0*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_86 = xi_85*0.25; + const double xi_89 = xi_62*xi_85; + const double xi_111 = u_0*u_0; + const double u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_26 = xi_18*0.16666666666666666; + const double xi_36 = omega_shear*u_1*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18*0.083333333333333329; + const double xi_53 = xi_18*xi_51; + const double xi_60 = u_1*0.25; + const double xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_65 = u_1*xi_62; + const double xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_110 = rho*(u_1*u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho*u_1; + const double xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_24 = xi_19*0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19*0.083333333333333329; + const double xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear*u_2*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19*xi_51; + const double xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19*xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2*xi_58; + const double xi_80 = u_2*xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_88 = xi_87*0.25; + const double xi_90 = xi_62*xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho*(u_2*u_2); + const double xi_114 = xi_112 + xi_113*0.66666666666666663 + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_115 = rho*xi_111*1.6666666666666667 + xi_110*0.66666666666666663 + xi_114 - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_116 = omega_even*xi_115; + const double xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk*xi_119; + const double xi_122 = xi_110*2.3333333333333335 + xi_114 + xi_121 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_123 = omega_even*xi_122; + const double xi_127 = xi_112 + xi_113*3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_128 = omega_even*xi_127; + const double xi_130 = xi_128*0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const double xi_143 = xi_142*0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116*0.050000000000000003; + const double xi_170 = rho*xi_111*2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_171 = omega_shear*xi_170; + const double xi_172 = xi_171*0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123*0.035714285714285712; + const double xi_196 = xi_123*0.021428571428571429; + const double xi_208 = xi_142*0.0625; + const double xi_209 = xi_128*0.013888888888888888; + const double xi_211 = xi_106*0.083333333333333329 + xi_120*0.041666666666666664; + const double xi_212 = xi_171*0.020833333333333332 + xi_175*0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123*0.0071428571428571426; + const double xi_240 = xi_128*0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102*0.050000000000000003 + xi_116*0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk*xi_119*-0.041666666666666664 + omega_even*xi_115*-0.025000000000000001 + xi_100*xi_101*xi_96*-0.050000000000000003 + xi_103*xi_104*xi_105*-0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123*0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001 - xi_106 + xi_109*0.085714285714285715 + xi_116*0.10000000000000001 + xi_120*-0.5 + xi_123*0.042857142857142858 + xi_128*0.023809523809523808 + xi_99*0.14285714285714285 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285 + xi_107*xi_108*xi_96*0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + v_s)*0.16666666666666666): (0.0)); + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571 + xi_123*0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + v_s)*0.16666666666666666): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329 + xi_175*0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329 - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + u_1*3.0 - v_s + 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + ((grid_size <= ((double)(ctr_1))) ? (rho*v_s*(u_0*-2.0 + u_1*-3.0 - v_s - 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + u_1*3.0 - v_s - 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0 >= ((double)(ctr_1))) ? (rho*v_s*(u_0*2.0 + u_1*-3.0 - v_s + 1.0)*0.083333333333333329): (0.0)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } +} } -} // namespace internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda -void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::run(IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); - auto force = block->getData>(forceID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; +void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::run(IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; - auto &grid_size = this->grid_size_; - auto &v_s = this->v_s_; - auto &time_step = this->time_step_; - auto &block_offset_0 = this->block_offset_0_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); + auto & v_s = this->v_s_; + auto & grid_size = this->grid_size_; + auto & block_offset_0 = this->block_offset_0_; + auto & seed = this->seed_; + auto & omega_even = this->omega_even_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); + } -void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; +void StreamCollideSweepLeesEdwardsDoublePrecisionCUDA::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - auto pdfs = block->getData>(pdfsID); - auto force = block->getData>(forceID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; - auto &grid_size = this->grid_size_; - auto &v_s = this->v_s_; - auto &time_step = this->time_step_; - auto &block_offset_0 = this->block_offset_0_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); + auto & v_s = this->v_s_; + auto & grid_size = this->grid_size_; + auto & block_offset_0 = this->block_offset_0_; + auto & seed = this->seed_; + auto & omega_even = this->omega_even_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda::streamcollidesweepleesedwardsdoubleprecisioncuda_streamcollidesweepleesedwardsdoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); + } + + } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp index ae38214978..112f215122 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecision.cpp @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepLeesEdwardsSinglePrecision.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepLeesEdwardsSinglePrecision.h" + #include "philox_rand.h" + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,511 +51,531 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_a263151a09bd9903959d48e17aef88f9 { -static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(float * RESTRICT const _data_force, float * RESTRICT const _data_pdfs, float * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const float xi_20 = omega_bulk * 0.5f; - const float xi_47 = omega_shear * 0.041666666666666664f; - const float xi_51 = omega_bulk * 0.041666666666666664f; - const float xi_62 = omega_shear * 0.125f; - const float xi_97 = 3.7416573867739413f; - const float xi_100 = 5.4772255750516612f; - const float xi_104 = 2.4494897427831779f; - const float xi_107 = 8.3666002653407556f; - const float xi_150 = omega_odd * 0.25f; - const float xi_160 = omega_odd * 0.083333333333333329f; - const float xi_173 = 1.7320508075688772f; - const float xi_217 = omega_shear * 0.25f; - const float xi_223 = omega_odd * 0.041666666666666664f; - const float xi_226 = omega_odd * 0.125f; - const float rr_0 = 0.0f; - const float xi_45 = rr_0 * 0.041666666666666664f; + { + const float xi_20 = omega_bulk*0.5f; + const float xi_47 = omega_shear*0.041666666666666664f; + const float xi_51 = omega_bulk*0.041666666666666664f; + const float xi_62 = omega_shear*0.125f; + const float xi_97 = 3.7416573867739413f; + const float xi_100 = 5.4772255750516612f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_150 = omega_odd*0.25f; + const float xi_160 = omega_odd*0.083333333333333329f; + const float xi_173 = 1.7320508075688772f; + const float xi_217 = omega_shear*0.25f; + const float xi_223 = omega_odd*0.041666666666666664f; + const float xi_226 = omega_odd*0.125f; + const float rr_0 = 0.0f; + const float xi_45 = rr_0*0.041666666666666664f; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - - float random_3_0{}; - float random_3_1{}; - float random_3_2{}; - float random_3_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); - } - - float random_2_0{}; - float random_2_1{}; - float random_2_2{}; - float random_2_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - - float random_1_0{}; - float random_1_1{}; - float random_1_2{}; - float random_1_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } - - float random_0_0{}; - float random_0_1{}; - float random_0_2{}; - float random_0_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const float xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const float xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_58 = 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_98 = random_3_0 - 0.5f; - const float xi_101 = random_3_2 - 0.5f; - const float xi_103 = random_1_1 - 0.5f; - const float xi_108 = random_3_1 - 0.5f; - const float xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float xi_118 = xi_11 + xi_3; - const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_133 = random_0_1 - 0.5f; - const float xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_151 = random_2_3 - 0.5f; - const float xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_161 = xi_159 * xi_160; - const float xi_162 = random_1_2 - 0.5f; - const float xi_174 = random_0_0 - 0.5f; - const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_186 = xi_138 + xi_185; - const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_188 = random_2_1 - 0.5f; - const float xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_191 = xi_160 * xi_190; - const float xi_192 = random_2_0 - 0.5f; - const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_200 = random_2_2 - 0.5f; - const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const float xi_202 = xi_160 * xi_201; - const float xi_203 = random_1_3 - 0.5f; - const float xi_224 = xi_159 * xi_223; - const float xi_227 = xi_149 * xi_226; - const float xi_233 = xi_201 * xi_223; - const float xi_234 = xi_199 * xi_226; - const float xi_254 = xi_187 * xi_226; - const float xi_255 = xi_190 * xi_223; - const float xi_23 = rr_0 * xi_22; - const float xi_35 = rr_0 * xi_34; - const float xi_41 = rr_0 * xi_40; - const float xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float vel1Term = xi_4 + xi_5; - const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float rho = delta_rho + 1.0f; - const float xi_95 = kT * rho; - const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); - const float xi_99 = xi_96 * xi_97 * xi_98; - const float xi_102 = xi_100 * xi_101 * xi_96; - const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); - const float xi_106 = xi_103 * xi_104 * xi_105; - const float xi_109 = xi_107 * xi_108 * xi_96; - const float xi_131 = xi_99 * 0.11904761904761904f; - const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); - const float xi_135 = xi_134 * 0.5f; - const float xi_136 = xi_133 * xi_135; - const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); - const float xi_153 = xi_152 * 1.4142135623730951f; - const float xi_154 = xi_153 * 0.5f; - const float xi_163 = xi_104 * xi_152; - const float xi_164 = xi_163 * 0.16666666666666666f; - const float xi_165 = xi_162 * xi_164; - const float xi_166 = xi_161 + xi_165; - const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const float xi_169 = xi_102 * 0.10000000000000001f; - const float xi_175 = xi_134 * xi_173 * xi_174; - const float xi_176 = xi_175 * 0.16666666666666666f; - const float xi_184 = xi_109 * 0.071428571428571425f; - const float xi_193 = xi_164 * xi_192; - const float xi_194 = xi_191 + xi_193; - const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const float xi_197 = xi_109 * 0.042857142857142858f; - const float xi_204 = xi_164 * xi_203; - const float xi_205 = xi_202 + xi_204; - const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const float xi_207 = xi_133 * xi_134 * 0.25f; - const float xi_210 = xi_99 * 0.083333333333333329f; - const float xi_214 = -xi_191 - xi_193; - const float xi_215 = xi_135 * (random_0_2 - 0.5f); - const float xi_222 = xi_135 * (random_1_0 - 0.5f); - const float xi_228 = xi_163 * 0.083333333333333329f; - const float xi_229 = xi_162 * xi_228; - const float xi_230 = xi_153 * 0.25f; - const float xi_231 = xi_151 * xi_230; - const float xi_235 = xi_203 * xi_228; - const float xi_236 = xi_200 * xi_230; - const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const float xi_239 = xi_109 * 0.014285714285714285f; - const float xi_241 = xi_99 * 0.023809523809523808f; - const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const float xi_246 = -xi_207; - const float xi_249 = xi_109 * 0.035714285714285712f; - const float xi_251 = xi_135 * (random_0_3 - 0.5f); - const float xi_256 = xi_188 * xi_230; - const float xi_257 = xi_192 * xi_228; - const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const float xi_0 = ((1.0f) / (rho)); - const float xi_10 = xi_0 * 0.5f; - const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_28 = xi_17 * 0.16666666666666666f; - const float xi_29 = -xi_28; - const float xi_30 = xi_17 * 0.083333333333333329f; - const float xi_31 = omega_shear * xi_30 + xi_29; - const float xi_48 = xi_17 * xi_47 + xi_29; - const float xi_49 = xi_34 - xi_46 + xi_48; - const float xi_52 = xi_17 * xi_51; - const float xi_59 = u_0 * xi_58; - const float xi_64 = u_0 * xi_63; - const float xi_68 = -xi_34 + xi_46 + xi_48; - const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_86 = xi_85 * 0.25f; - const float xi_89 = xi_62 * xi_85; - const float xi_111 = u_0 * u_0; - const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_26 = xi_18 * 0.16666666666666666f; - const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_42 = -xi_26; - const float xi_43 = xi_18 * 0.083333333333333329f; - const float xi_53 = xi_18 * xi_51; - const float xi_60 = u_1 * 0.25f; - const float xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_65 = u_1 * xi_62; - const float xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const float xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_110 = rho * (u_1 * u_1); - const float xi_117 = -xi_110; - const float xi_216 = rho * u_1; - const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const float xi_219 = -xi_215 - xi_218; - const float xi_220 = xi_215 + xi_218; - const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_24 = xi_19 * 0.16666666666666666f; - const float xi_25 = -xi_24; - const float xi_27 = xi_19 * 0.083333333333333329f; - const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; - const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; - const float xi_54 = xi_19 * xi_51; - const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const float xi_56 = -xi_22 + xi_50 + xi_55; - const float xi_57 = xi_27 + xi_37 + xi_56; - const float xi_70 = xi_22 - xi_50 + xi_55; - const float xi_71 = xi_27 + xi_37 + xi_70; - const float xi_73 = xi_19 * xi_47 + xi_25; - const float xi_74 = -xi_40 + xi_72 + xi_73; - const float xi_76 = xi_30 + xi_56 + xi_75; - const float xi_78 = u_2 * xi_58; - const float xi_80 = u_2 * xi_63; - const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const float xi_82 = xi_30 + xi_70 + xi_75; - const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const float xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_88 = xi_87 * 0.25f; - const float xi_90 = xi_62 * xi_87; - const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const float xi_93 = xi_40 - xi_72 + xi_73; - const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const float xi_113 = rho * (u_2 * u_2); - const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_116 = omega_even * xi_115; - const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const float xi_120 = omega_bulk * xi_119; - const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_123 = omega_even * xi_122; - const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_128 = omega_even * xi_127; - const float xi_130 = xi_128 * 0.01984126984126984f; - const float xi_132 = xi_130 + xi_131; - const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const float xi_143 = xi_142 * 0.125f; - const float xi_144 = -xi_136 - xi_143; - const float xi_168 = xi_116 * 0.050000000000000003f; - const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_171 = omega_shear * xi_170; - const float xi_172 = xi_171 * 0.041666666666666664f; - const float xi_177 = xi_172 + xi_176; - const float xi_178 = xi_168 + xi_169 + xi_177; - const float xi_179 = -xi_130 - xi_131; - const float xi_180 = xi_136 + xi_143; - const float xi_181 = -xi_172 - xi_176; - const float xi_182 = -xi_168 - xi_169 + xi_181; - const float xi_183 = xi_123 * 0.035714285714285712f; - const float xi_196 = xi_123 * 0.021428571428571429f; - const float xi_208 = xi_142 * 0.0625f; - const float xi_209 = xi_128 * 0.013888888888888888f; - const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; - const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; - const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const float xi_238 = xi_123 * 0.0071428571428571426f; - const float xi_240 = xi_128 * 0.003968253968253968f; - const float xi_242 = -xi_240 - xi_241; - const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const float xi_247 = -xi_208; - const float xi_248 = xi_123 * 0.017857142857142856f; - const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const float xi_253 = -xi_251 - xi_252; - const float xi_259 = xi_251 + xi_252; - const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const float forceTerm_1 = xi_21 - xi_23 + xi_32; - const float forceTerm_2 = -xi_21 + xi_23 + xi_32; - const float forceTerm_3 = -xi_33 + xi_35 - xi_38; - const float forceTerm_4 = xi_33 - xi_35 - xi_38; - const float forceTerm_5 = xi_39 - xi_41 + xi_44; - const float forceTerm_6 = -xi_39 + xi_41 + xi_44; - const float forceTerm_7 = -xi_49 - xi_57 - xi_67; - const float forceTerm_8 = -xi_57 - xi_68 - xi_69; - const float forceTerm_9 = -xi_49 - xi_69 - xi_71; - const float forceTerm_10 = -xi_67 - xi_68 - xi_71; - const float forceTerm_11 = -xi_74 - xi_76 - xi_81; - const float forceTerm_12 = -xi_74 - xi_82 - xi_83; - const float forceTerm_13 = -xi_49 - xi_84 - xi_91; - const float forceTerm_14 = -xi_68 - xi_84 - xi_92; - const float forceTerm_15 = -xi_76 - xi_83 - xi_93; - const float forceTerm_16 = -xi_81 - xi_82 - xi_93; - const float forceTerm_17 = -xi_49 - xi_92 - xi_94; - const float forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)); - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)); - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - } + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const float xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const float xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_21 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_22 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_33 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_34 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_39 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_40 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_58 = 0.25f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_98 = random_3_0 - 0.5f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_124 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_125 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_126 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_157 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_158 = -2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_161 = xi_159*xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_191 = xi_160*xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160*xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_224 = xi_159*xi_223; + const float xi_227 = xi_149*xi_226; + const float xi_233 = xi_201*xi_223; + const float xi_234 = xi_199*xi_226; + const float xi_254 = xi_187*xi_226; + const float xi_255 = xi_190*xi_223; + const float xi_23 = rr_0*xi_22; + const float xi_35 = rr_0*xi_34; + const float xi_41 = rr_0*xi_40; + const float xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float rho = delta_rho + 1.0f; + const float xi_95 = kT*rho; + const float xi_96 = powf(xi_95*(1.0f - ((-omega_even + 1.0f)*(-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96*xi_97*xi_98; + const float xi_102 = xi_100*xi_101*xi_96; + const float xi_105 = powf(xi_95*(1.0f - ((-omega_bulk + 1.0f)*(-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103*xi_104*xi_105; + const float xi_109 = xi_107*xi_108*xi_96; + const float xi_131 = xi_99*0.11904761904761904f; + const float xi_134 = powf(xi_95*(1.0f - ((-omega_shear + 1.0f)*(-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134*0.5f; + const float xi_136 = xi_133*xi_135; + const float xi_152 = powf(xi_95*(1.0f - ((-omega_odd + 1.0f)*(-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152*1.4142135623730951f; + const float xi_154 = xi_153*0.5f; + const float xi_163 = xi_104*xi_152; + const float xi_164 = xi_163*0.16666666666666666f; + const float xi_165 = xi_162*xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const float xi_169 = xi_102*0.10000000000000001f; + const float xi_175 = xi_134*xi_173*xi_174; + const float xi_176 = xi_175*0.16666666666666666f; + const float xi_184 = xi_109*0.071428571428571425f; + const float xi_193 = xi_164*xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const float xi_197 = xi_109*0.042857142857142858f; + const float xi_204 = xi_164*xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const float xi_207 = xi_133*xi_134*0.25f; + const float xi_210 = xi_99*0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135*(random_0_2 - 0.5f); + const float xi_222 = xi_135*(random_1_0 - 0.5f); + const float xi_228 = xi_163*0.083333333333333329f; + const float xi_229 = xi_162*xi_228; + const float xi_230 = xi_153*0.25f; + const float xi_231 = xi_151*xi_230; + const float xi_235 = xi_203*xi_228; + const float xi_236 = xi_200*xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109*0.014285714285714285f; + const float xi_241 = xi_99*0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109*0.035714285714285712f; + const float xi_251 = xi_135*(random_0_3 - 0.5f); + const float xi_256 = xi_188*xi_230; + const float xi_257 = xi_192*xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0*0.5f; + const float u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_28 = xi_17*0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17*0.083333333333333329f; + const float xi_31 = omega_shear*xi_30 + xi_29; + const float xi_48 = xi_17*xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17*xi_51; + const float xi_59 = u_0*xi_58; + const float xi_64 = u_0*xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear*u_0*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_86 = xi_85*0.25f; + const float xi_89 = xi_62*xi_85; + const float xi_111 = u_0*u_0; + const float u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_26 = xi_18*0.16666666666666666f; + const float xi_36 = omega_shear*u_1*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18*0.083333333333333329f; + const float xi_53 = xi_18*xi_51; + const float xi_60 = u_1*0.25f; + const float xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_65 = u_1*xi_62; + const float xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_110 = rho*(u_1*u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho*u_1; + const float xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_24 = xi_19*0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19*0.083333333333333329f; + const float xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear*u_2*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19*xi_51; + const float xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19*xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2*xi_58; + const float xi_80 = u_2*xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_88 = xi_87*0.25f; + const float xi_90 = xi_62*xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho*(u_2*u_2); + const float xi_114 = xi_112 + xi_113*0.66666666666666663f + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_115 = rho*xi_111*1.6666666666666667f + xi_110*0.66666666666666663f + xi_114 - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_116 = omega_even*xi_115; + const float xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk*xi_119; + const float xi_122 = xi_110*2.3333333333333335f + xi_114 + xi_121 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_123 = omega_even*xi_122; + const float xi_127 = xi_112 + xi_113*3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_128 = omega_even*xi_127; + const float xi_130 = xi_128*0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const float xi_143 = xi_142*0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116*0.050000000000000003f; + const float xi_170 = rho*xi_111*2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_171 = omega_shear*xi_170; + const float xi_172 = xi_171*0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123*0.035714285714285712f; + const float xi_196 = xi_123*0.021428571428571429f; + const float xi_208 = xi_142*0.0625f; + const float xi_209 = xi_128*0.013888888888888888f; + const float xi_211 = xi_106*0.083333333333333329f + xi_120*0.041666666666666664f; + const float xi_212 = xi_171*0.020833333333333332f + xi_175*0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123*0.0071428571428571426f; + const float xi_240 = xi_128*0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102*0.050000000000000003f + xi_116*0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk*xi_119*-0.041666666666666664f + omega_even*xi_115*-0.025000000000000001f + xi_100*xi_101*xi_96*-0.050000000000000003f + xi_103*xi_104*xi_105*-0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123*0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001f - xi_106 + xi_109*0.085714285714285715f + xi_116*0.10000000000000001f + xi_120*-0.5f + xi_123*0.042857142857142858f + xi_128*0.023809523809523808f + xi_99*0.14285714285714285f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285f + xi_107*xi_108*xi_96*0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + v_s)*0.16666666666666666f): (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571f + xi_123*0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + v_s)*0.16666666666666666f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329f + xi_175*0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329f - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233f; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + u_1*3.0f - v_s + 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + u_1*-3.0f - v_s - 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + u_1*3.0f - v_s - 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + u_1*-3.0f - v_s + 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } + } } - } - } + } +} } -} // namespace internal_a263151a09bd9903959d48e17aef88f9 -void StreamCollideSweepLeesEdwardsSinglePrecision::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; +void StreamCollideSweepLeesEdwardsSinglePrecision::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &v_s = this->v_s_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & v_s = this->v_s_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & grid_size = this->grid_size_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); + } -void StreamCollideSweepLeesEdwardsSinglePrecision::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; +void StreamCollideSweepLeesEdwardsSinglePrecision::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &v_s = this->v_s_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & v_s = this->v_s_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & grid_size = this->grid_size_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_a263151a09bd9903959d48e17aef88f9::streamcollidesweepleesedwardssingleprecision_streamcollidesweepleesedwardssingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); + } + + } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp index 10cb3b6557..408333a383 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionAVX.cpp @@ -19,29 +19,33 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepLeesEdwardsSinglePrecisionAVX.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepLeesEdwardsSinglePrecisionAVX.h" -#include "philox_rand.h" #include +#include "philox_rand.h" + + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -49,846 +53,867 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_c275fa5bef4a1b9f30058dc82d50d3cf { -static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) { +static FUNC_PREFIX void streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(float * RESTRICT const _data_force, float * RESTRICT const _data_pdfs, float * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const float xi_20 = omega_bulk * 0.5f; - const float xi_47 = omega_shear * 0.041666666666666664f; - const float xi_51 = omega_bulk * 0.041666666666666664f; - const float xi_62 = omega_shear * 0.125f; - const float xi_97 = 3.7416573867739413f; - const float xi_100 = 5.4772255750516612f; - const float xi_104 = 2.4494897427831779f; - const float xi_107 = 8.3666002653407556f; - const float xi_150 = omega_odd * 0.25f; - const float xi_160 = omega_odd * 0.083333333333333329f; - const float xi_173 = 1.7320508075688772f; - const float xi_217 = omega_shear * 0.25f; - const float xi_223 = omega_odd * 0.041666666666666664f; - const float xi_226 = omega_odd * 0.125f; - const float rr_0 = 0.0f; - const float xi_45 = rr_0 * 0.041666666666666664f; + { + const float xi_20 = omega_bulk*0.5f; + const float xi_47 = omega_shear*0.041666666666666664f; + const float xi_51 = omega_bulk*0.041666666666666664f; + const float xi_62 = omega_shear*0.125f; + const float xi_97 = 3.7416573867739413f; + const float xi_100 = 5.4772255750516612f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_150 = omega_odd*0.25f; + const float xi_160 = omega_odd*0.083333333333333329f; + const float xi_173 = 1.7320508075688772f; + const float xi_217 = omega_shear*0.25f; + const float xi_223 = omega_odd*0.041666666666666664f; + const float xi_226 = omega_odd*0.125f; + const float rr_0 = 0.0f; + const float xi_45 = rr_0*0.041666666666666664f; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - { - for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 += 8) { - - __m256 random_3_0{}; - __m256 random_3_1{}; - __m256 random_3_2{}; - __m256 random_3_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + { + for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 += 8) + { + + __m256 random_3_0{}; + __m256 random_3_1{}; + __m256 random_3_2{}; + __m256 random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + __m256 random_2_0{}; + __m256 random_2_1{}; + __m256 random_2_2{}; + __m256 random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + __m256 random_1_0{}; + __m256 random_1_1{}; + __m256 random_1_2{}; + __m256 random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + __m256 random_0_0{}; + __m256 random_0_1{}; + __m256 random_0_2{}; + __m256 random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const __m256 xi_2 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_3 = _mm256_add_ps(_mm256_add_ps(xi_2,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_4 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_5 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256 xi_6 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_7 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_8 = _mm256_add_ps(xi_7,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_9 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_11 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_12 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_13 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_14 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256 xi_15 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_16 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_21 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_22 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_33 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_34 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_39 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_40 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_58 = _mm256_mul_ps(_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_63 = _mm256_mul_ps(_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_98 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_3_0); + const __m256 xi_101 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_3_2); + const __m256 xi_103 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_1); + const __m256 xi_108 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_3_1); + const __m256 xi_112 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_load_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])); + const __m256 xi_118 = _mm256_add_ps(xi_11,xi_3); + const __m256 xi_121 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256 xi_124 = _mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_125 = _mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_126 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256 xi_129 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256 xi_133 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_1); + const __m256 xi_137 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_138 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_139 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])); + const __m256 xi_140 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256 xi_145 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256 xi_146 = _mm256_add_ps(xi_14,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_147 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0])); + const __m256 xi_148 = _mm256_add_ps(xi_147,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256 xi_149 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_145,xi_146),xi_148),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_151 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_3); + const __m256 xi_155 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_156 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_157 = _mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_158 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + const __m256 xi_159 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(xi_157,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_148),xi_155),xi_156),xi_158),xi_5); + const __m256 xi_161 = _mm256_mul_ps(xi_159,_mm256_set_ps(xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160)); + const __m256 xi_162 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_2); + const __m256 xi_174 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_0); + const __m256 xi_185 = _mm256_add_ps(xi_15,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_186 = _mm256_add_ps(xi_138,xi_185); + const __m256 xi_187 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1])),xi_186),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_188 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_1); + const __m256 xi_189 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_190 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(xi_157,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_158,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_186,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_189,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_7,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_191 = _mm256_mul_ps(xi_190,_mm256_set_ps(xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160)); + const __m256 xi_192 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_0); + const __m256 xi_198 = _mm256_add_ps(_mm256_add_ps(xi_145,xi_155),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256 xi_199 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_198,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))); + const __m256 xi_200 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_2); + const __m256 xi_201 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_124,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_125,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_126),xi_140),xi_198),xi_6); + const __m256 xi_202 = _mm256_mul_ps(xi_201,_mm256_set_ps(xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160)); + const __m256 xi_203 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_3); + const __m256 xi_224 = _mm256_mul_ps(xi_159,_mm256_set_ps(xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223)); + const __m256 xi_227 = _mm256_mul_ps(xi_149,_mm256_set_ps(xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226)); + const __m256 xi_233 = _mm256_mul_ps(xi_201,_mm256_set_ps(xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223)); + const __m256 xi_234 = _mm256_mul_ps(xi_199,_mm256_set_ps(xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226)); + const __m256 xi_254 = _mm256_mul_ps(xi_187,_mm256_set_ps(xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226)); + const __m256 xi_255 = _mm256_mul_ps(xi_190,_mm256_set_ps(xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223)); + const __m256 xi_23 = _mm256_mul_ps(xi_22,_mm256_set_ps(rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0)); + const __m256 xi_35 = _mm256_mul_ps(xi_34,_mm256_set_ps(rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0)); + const __m256 xi_41 = _mm256_mul_ps(xi_40,_mm256_set_ps(rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0)); + const __m256 xi_46 = _mm256_mul_ps(_mm256_set_ps(xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_50 = _mm256_mul_ps(_mm256_set_ps(xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_72 = _mm256_mul_ps(_mm256_set_ps(xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 vel0Term = _mm256_add_ps(xi_3,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 vel1Term = _mm256_add_ps(xi_4,xi_5); + const __m256 vel2Term = _mm256_add_ps(xi_6,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 delta_rho = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(vel0Term,vel1Term),vel2Term),xi_8),xi_9),_mm256_load_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256 rho = _mm256_add_ps(_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f),delta_rho); + const __m256 xi_95 = _mm256_mul_ps(rho,_mm256_set_ps(kT,kT,kT,kT,kT,kT,kT,kT)); + const __m256 xi_96 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_99 = _mm256_mul_ps(_mm256_mul_ps(xi_96,xi_98),_mm256_set_ps(xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97)); + const __m256 xi_102 = _mm256_mul_ps(_mm256_mul_ps(xi_101,xi_96),_mm256_set_ps(xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100)); + const __m256 xi_105 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_106 = _mm256_mul_ps(_mm256_mul_ps(xi_103,xi_105),_mm256_set_ps(xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104)); + const __m256 xi_109 = _mm256_mul_ps(_mm256_mul_ps(xi_108,xi_96),_mm256_set_ps(xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107)); + const __m256 xi_131 = _mm256_mul_ps(xi_99,_mm256_set_ps(0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f)); + const __m256 xi_134 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_135 = _mm256_mul_ps(xi_134,_mm256_set_ps(0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f)); + const __m256 xi_136 = _mm256_mul_ps(xi_133,xi_135); + const __m256 xi_152 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_153 = _mm256_mul_ps(xi_152,_mm256_set_ps(1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f)); + const __m256 xi_154 = _mm256_mul_ps(xi_153,_mm256_set_ps(0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f)); + const __m256 xi_163 = _mm256_mul_ps(xi_152,_mm256_set_ps(xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104)); + const __m256 xi_164 = _mm256_mul_ps(xi_163,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_165 = _mm256_mul_ps(xi_162,xi_164); + const __m256 xi_166 = _mm256_add_ps(xi_161,xi_165); + const __m256 xi_167 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_149,_mm256_set_ps(xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150)),_mm256_mul_ps(xi_151,xi_154)),xi_166); + const __m256 xi_169 = _mm256_mul_ps(xi_102,_mm256_set_ps(0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f)); + const __m256 xi_175 = _mm256_mul_ps(_mm256_mul_ps(xi_134,xi_174),_mm256_set_ps(xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173)); + const __m256 xi_176 = _mm256_mul_ps(xi_175,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_184 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f)); + const __m256 xi_193 = _mm256_mul_ps(xi_164,xi_192); + const __m256 xi_194 = _mm256_add_ps(xi_191,xi_193); + const __m256 xi_195 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_187,_mm256_set_ps(xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150)),_mm256_mul_ps(xi_154,xi_188)),xi_194); + const __m256 xi_197 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f)); + const __m256 xi_204 = _mm256_mul_ps(xi_164,xi_203); + const __m256 xi_205 = _mm256_add_ps(xi_202,xi_204); + const __m256 xi_206 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_199,_mm256_set_ps(xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150)),_mm256_mul_ps(xi_154,xi_200)),xi_205); + const __m256 xi_207 = _mm256_mul_ps(_mm256_mul_ps(xi_133,xi_134),_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_210 = _mm256_mul_ps(xi_99,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_214 = _mm256_add_ps(_mm256_mul_ps(xi_191,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_193,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_215 = _mm256_mul_ps(xi_135,_mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_2)); + const __m256 xi_222 = _mm256_mul_ps(xi_135,_mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_0)); + const __m256 xi_228 = _mm256_mul_ps(xi_163,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_229 = _mm256_mul_ps(xi_162,xi_228); + const __m256 xi_230 = _mm256_mul_ps(xi_153,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_231 = _mm256_mul_ps(xi_151,xi_230); + const __m256 xi_235 = _mm256_mul_ps(xi_203,xi_228); + const __m256 xi_236 = _mm256_mul_ps(xi_200,xi_230); + const __m256 xi_237 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_233,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_235,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_234),xi_236); + const __m256 xi_239 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f)); + const __m256 xi_241 = _mm256_mul_ps(xi_99,_mm256_set_ps(0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f)); + const __m256 xi_244 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_234,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_236,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_233),xi_235); + const __m256 xi_246 = _mm256_mul_ps(xi_207,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_249 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f)); + const __m256 xi_251 = _mm256_mul_ps(xi_135,_mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_3)); + const __m256 xi_256 = _mm256_mul_ps(xi_188,xi_230); + const __m256 xi_257 = _mm256_mul_ps(xi_192,xi_228); + const __m256 xi_258 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_254,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_256,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_255),xi_257); + const __m256 xi_260 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_255,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_257,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_254),xi_256); + const __m256 xi_0 = _mm256_div_ps(_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f),rho); + const __m256 xi_10 = _mm256_mul_ps(xi_0,_mm256_set_ps(0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f)); + const __m256 u_0 = _mm256_add_ps(_mm256_mul_ps(xi_0,_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_11,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_8,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),vel0Term)),_mm256_mul_ps(xi_10,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))); + const __m256 xi_17 = _mm256_mul_ps(u_0,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_28 = _mm256_mul_ps(xi_17,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_29 = _mm256_mul_ps(xi_28,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_30 = _mm256_mul_ps(xi_17,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_31 = _mm256_add_ps(_mm256_mul_ps(xi_30,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),xi_29); + const __m256 xi_48 = _mm256_add_ps(_mm256_mul_ps(xi_17,_mm256_set_ps(xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47)),xi_29); + const __m256 xi_49 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_46,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_34),xi_48); + const __m256 xi_52 = _mm256_mul_ps(xi_17,_mm256_set_ps(xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51)); + const __m256 xi_59 = _mm256_mul_ps(u_0,xi_58); + const __m256 xi_64 = _mm256_mul_ps(u_0,xi_63); + const __m256 xi_68 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_34,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_46),xi_48); + const __m256 xi_75 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0,_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_85 = _mm256_mul_ps(u_0,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_86 = _mm256_mul_ps(xi_85,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_89 = _mm256_mul_ps(xi_85,_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62)); + const __m256 xi_111 = _mm256_mul_ps(u_0,u_0); + const __m256 u_1 = _mm256_add_ps(_mm256_mul_ps(xi_0,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_12,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_13,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_9,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),vel1Term)),_mm256_mul_ps(xi_10,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]))); + const __m256 xi_18 = _mm256_mul_ps(u_1,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_26 = _mm256_mul_ps(xi_18,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_36 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1,_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_42 = _mm256_mul_ps(xi_26,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_43 = _mm256_mul_ps(xi_18,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_53 = _mm256_mul_ps(xi_18,_mm256_set_ps(xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51)); + const __m256 xi_60 = _mm256_mul_ps(u_1,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_61 = _mm256_mul_ps(xi_60,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_65 = _mm256_mul_ps(u_1,_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62)); + const __m256 xi_66 = _mm256_mul_ps(xi_65,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_67 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_64,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_66,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_59),xi_61); + const __m256 xi_69 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_59,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_61,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_64),xi_66); + const __m256 xi_77 = _mm256_mul_ps(xi_60,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_79 = _mm256_mul_ps(xi_65,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_110 = _mm256_mul_ps(rho,_mm256_mul_ps(u_1,u_1)); + const __m256 xi_117 = _mm256_mul_ps(xi_110,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_216 = _mm256_mul_ps(rho,u_1); + const __m256 xi_218 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(u_0,xi_216)),xi_12),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_ps(xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217)); + const __m256 xi_219 = _mm256_add_ps(_mm256_mul_ps(xi_215,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_218,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_220 = _mm256_add_ps(xi_215,xi_218); + const __m256 u_2 = _mm256_add_ps(_mm256_mul_ps(xi_0,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_14,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_15,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_16,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),vel2Term)),_mm256_mul_ps(xi_10,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]))); + const __m256 xi_19 = _mm256_mul_ps(u_2,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_24 = _mm256_mul_ps(xi_19,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_25 = _mm256_mul_ps(xi_24,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_27 = _mm256_mul_ps(xi_19,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_32 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18,_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f)),_mm256_mul_ps(xi_27,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_ps(_mm256_mul_ps(xi_26,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),xi_25),xi_31); + const __m256 xi_37 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2,_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_38 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_28,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_mul_ps(_mm256_mul_ps(u_0,_mm256_set_ps(-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f)),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))),xi_24),xi_26),xi_36),xi_37); + const __m256 xi_44 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_19,_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f)),_mm256_mul_ps(xi_43,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_ps(_mm256_mul_ps(xi_24,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),xi_31),xi_42); + const __m256 xi_54 = _mm256_mul_ps(xi_19,_mm256_set_ps(xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51)); + const __m256 xi_55 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18,_mm256_set_ps(xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47)),xi_42),xi_52),xi_53),xi_54); + const __m256 xi_56 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_22,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_50),xi_55); + const __m256 xi_57 = _mm256_add_ps(_mm256_add_ps(xi_27,xi_37),xi_56); + const __m256 xi_70 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_50,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_22),xi_55); + const __m256 xi_71 = _mm256_add_ps(_mm256_add_ps(xi_27,xi_37),xi_70); + const __m256 xi_73 = _mm256_add_ps(_mm256_mul_ps(xi_19,_mm256_set_ps(xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47)),xi_25); + const __m256 xi_74 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_40,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_72),xi_73); + const __m256 xi_76 = _mm256_add_ps(_mm256_add_ps(xi_30,xi_56),xi_75); + const __m256 xi_78 = _mm256_mul_ps(u_2,xi_58); + const __m256 xi_80 = _mm256_mul_ps(u_2,xi_63); + const __m256 xi_81 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_77,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_78,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_79),xi_80); + const __m256 xi_82 = _mm256_add_ps(_mm256_add_ps(xi_30,xi_70),xi_75); + const __m256 xi_83 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_79,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_80,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_77),xi_78); + const __m256 xi_84 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36,xi_43),xi_52),xi_53),xi_54),xi_74); + const __m256 xi_87 = _mm256_mul_ps(u_2,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_88 = _mm256_mul_ps(xi_87,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_90 = _mm256_mul_ps(xi_87,_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62)); + const __m256 xi_91 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_89,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_90,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_86),xi_88); + const __m256 xi_92 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_86,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_88,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_89),xi_90); + const __m256 xi_93 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_72,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_40),xi_73); + const __m256 xi_94 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36,xi_43),xi_52),xi_53),xi_54),xi_93); + const __m256 xi_113 = _mm256_mul_ps(rho,_mm256_mul_ps(u_2,u_2)); + const __m256 xi_114 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(xi_113,_mm256_set_ps(0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f))),xi_112); + const __m256 xi_115 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(xi_110,_mm256_set_ps(0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_mul_ps(rho,xi_111),_mm256_set_ps(1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f))),xi_114); + const __m256 xi_116 = _mm256_mul_ps(xi_115,_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)); + const __m256 xi_119 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_112,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_117,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_118,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_13,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_16,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_5,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(rho,xi_111)),xi_113); + const __m256 xi_120 = _mm256_mul_ps(xi_119,_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk)); + const __m256 xi_122 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_110,_mm256_set_ps(2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f)),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),xi_114),xi_121); + const __m256 xi_123 = _mm256_mul_ps(xi_122,_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)); + const __m256 xi_127 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_113,_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f)),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))),xi_112),xi_121),xi_124),xi_125),xi_126); + const __m256 xi_128 = _mm256_mul_ps(xi_127,_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)); + const __m256 xi_130 = _mm256_mul_ps(xi_128,_mm256_set_ps(0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f)); + const __m256 xi_132 = _mm256_add_ps(xi_130,xi_131); + const __m256 xi_141 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_113,xi_139),xi_140),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_142 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_117,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_137,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_138,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_141,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_15,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_2,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_4,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256 xi_143 = _mm256_mul_ps(xi_142,_mm256_set_ps(0.125f,0.125f,0.125f,0.125f,0.125f,0.125f,0.125f,0.125f)); + const __m256 xi_144 = _mm256_add_ps(_mm256_mul_ps(xi_136,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_143,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_168 = _mm256_mul_ps(xi_116,_mm256_set_ps(0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f)); + const __m256 xi_170 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(xi_110,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_118,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_129,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_141,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_147,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_mul_ps(rho,xi_111),_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f))); + const __m256 xi_171 = _mm256_mul_ps(xi_170,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256 xi_172 = _mm256_mul_ps(xi_171,_mm256_set_ps(0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f)); + const __m256 xi_177 = _mm256_add_ps(xi_172,xi_176); + const __m256 xi_178 = _mm256_add_ps(_mm256_add_ps(xi_168,xi_169),xi_177); + const __m256 xi_179 = _mm256_add_ps(_mm256_mul_ps(xi_130,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_131,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_180 = _mm256_add_ps(xi_136,xi_143); + const __m256 xi_181 = _mm256_add_ps(_mm256_mul_ps(xi_172,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_176,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_182 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_168,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_169,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_181); + const __m256 xi_183 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f)); + const __m256 xi_196 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f)); + const __m256 xi_208 = _mm256_mul_ps(xi_142,_mm256_set_ps(0.0625f,0.0625f,0.0625f,0.0625f,0.0625f,0.0625f,0.0625f,0.0625f)); + const __m256 xi_209 = _mm256_mul_ps(xi_128,_mm256_set_ps(0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f)); + const __m256 xi_211 = _mm256_add_ps(_mm256_mul_ps(xi_120,_mm256_set_ps(0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f)),_mm256_mul_ps(xi_106,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f))); + const __m256 xi_212 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171,_mm256_set_ps(0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f)),_mm256_mul_ps(xi_175,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f))),xi_211); + const __m256 xi_213 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_166,xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256 xi_221 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_161,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_165,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256 xi_225 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(u_2,xi_216),xi_146),xi_155),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])),_mm256_set_ps(xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217)); + const __m256 xi_232 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_224,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_229,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_222),xi_225),xi_227),xi_231); + const __m256 xi_238 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f)); + const __m256 xi_240 = _mm256_mul_ps(xi_128,_mm256_set_ps(0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f)); + const __m256 xi_242 = _mm256_add_ps(_mm256_mul_ps(xi_240,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_241,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_243 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_116,_mm256_set_ps(0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f)),_mm256_mul_ps(xi_102,_mm256_set_ps(0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f))),_mm256_mul_ps(xi_238,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_239,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_181),xi_211),xi_242); + const __m256 xi_245 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(xi_115,_mm256_set_ps(-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f)),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)),_mm256_mul_ps(_mm256_mul_ps(xi_119,_mm256_set_ps(-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f)),_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_101,xi_96),_mm256_set_ps(-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f)),_mm256_set_ps(xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_103,xi_105),_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104))),xi_177),xi_238),xi_239),xi_240),xi_241); + const __m256 xi_247 = _mm256_mul_ps(xi_208,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_248 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f)); + const __m256 xi_250 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_205,xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256 xi_252 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(rho,u_0),u_2),xi_137),xi_185),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])),_mm256_set_ps(xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217)); + const __m256 xi_253 = _mm256_add_ps(_mm256_mul_ps(xi_251,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_252,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_259 = _mm256_add_ps(xi_251,xi_252); + const __m256 xi_261 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_227,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_231,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_222),xi_224),xi_225),xi_229); + const __m256 xi_262 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_202,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_204,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256 forceTerm_0 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_17,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_18,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_19,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_17,_mm256_set_ps(xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20))),_mm256_mul_ps(xi_18,_mm256_set_ps(xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20))),_mm256_mul_ps(xi_19,_mm256_set_ps(xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20))); + const __m256 forceTerm_1 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_23,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_21),xi_32); + const __m256 forceTerm_2 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_21,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_23),xi_32); + const __m256 forceTerm_3 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_33,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_38,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_35); + const __m256 forceTerm_4 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_35,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_38,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_33); + const __m256 forceTerm_5 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_41,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_39),xi_44); + const __m256 forceTerm_6 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_39,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_41),xi_44); + const __m256 forceTerm_7 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_57,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_67,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_8 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_57,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_69,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_9 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_69,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_71,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_10 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_67,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_71,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_11 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_76,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_81,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_12 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_82,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_83,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_13 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_84,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_91,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_14 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_84,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_92,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_15 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_76,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_83,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_93,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_16 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_81,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_82,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_93,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_17 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_92,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_94,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_18 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_91,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_94,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128,_mm256_set_ps(0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f)),_mm256_mul_ps(xi_99,_mm256_set_ps(0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f))),_mm256_mul_ps(xi_123,_mm256_set_ps(0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f))),_mm256_mul_ps(xi_109,_mm256_set_ps(0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f))),_mm256_mul_ps(xi_116,_mm256_set_ps(0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f))),_mm256_mul_ps(xi_102,_mm256_set_ps(0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f))),_mm256_mul_ps(xi_120,_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f))),_mm256_mul_ps(xi_106,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_0),_mm256_load_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_129,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_132,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_144,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_167,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_178,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_mul_ps(xi_122,_mm256_set_ps(0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f)),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_108,xi_96),_mm256_set_ps(0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f)),_mm256_set_ps(xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107))),_mm256_blendv_ps(_mm256_set_ps(0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho,_mm256_add_ps(_mm256_mul_ps(u_0,_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s))),_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1))),_mm256_set_ps(grid_size,grid_size,grid_size,grid_size,grid_size,grid_size,grid_size,grid_size),_CMP_GE_OQ))),forceTerm_1)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_123,_mm256_set_ps(0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f)),_mm256_mul_ps(xi_109,_mm256_set_ps(0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f))),_mm256_blendv_ps(_mm256_set_ps(0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho,_mm256_add_ps(_mm256_mul_ps(u_0,_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s))),_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_cmp_ps(_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f),_mm256_set_ps(((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1))),_CMP_GE_OQ))),forceTerm_2),xi_167),xi_179),xi_180),xi_182),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_mul_ps(xi_175,_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f))),_mm256_mul_ps(xi_183,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_184,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_3),xi_179),xi_195),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_132,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_183,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_184,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_189,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_195,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_mul_ps(xi_170,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_134,xi_174),_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f)),_mm256_set_ps(xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173))),forceTerm_4)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_178,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_180,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_196,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_197,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_206,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_mul_ps(xi_127,_mm256_set_ps(0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f)),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_96,xi_98),_mm256_set_ps(0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f)),_mm256_set_ps(xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97))),forceTerm_5)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128,_mm256_set_ps(0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f)),_mm256_mul_ps(xi_99,_mm256_set_ps(0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f))),_mm256_mul_ps(xi_196,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_197,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_6),xi_144),xi_182),xi_206),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_mul_ps(u_1,_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f))),_mm256_mul_ps(u_0,_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f))),_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1))),_mm256_set_ps(grid_size,grid_size,grid_size,grid_size,grid_size,grid_size,grid_size,grid_size),_CMP_GE_OQ)),forceTerm_7),xi_213),xi_214),xi_219),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_mul_ps(u_0,_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f))),_mm256_mul_ps(u_1,_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f))),_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1))),_mm256_set_ps(grid_size,grid_size,grid_size,grid_size,grid_size,grid_size,grid_size,grid_size),_CMP_GE_OQ)),forceTerm_8),xi_194),xi_213),xi_220),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_mul_ps(u_0,_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f))),_mm256_mul_ps(u_1,_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f))),_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_cmp_ps(_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f),_mm256_set_ps(((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1))),_CMP_GE_OQ)),forceTerm_9),xi_214),xi_220),xi_221),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_mul_ps(u_0,_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f))),_mm256_mul_ps(u_1,_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f))),_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_set_ps(v_s,v_s,v_s,v_s,v_s,v_s,v_s,v_s)),_mm256_cmp_ps(_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f),_mm256_set_ps(((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1)),((float)(ctr_1))),_CMP_GE_OQ)),forceTerm_10),xi_194),xi_219),xi_221),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_11,xi_232),xi_237),xi_243),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_156,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_232,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_244,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_245,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_12)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_13,xi_250),xi_253),xi_258),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_14,xi_250),xi_259),xi_260),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_145,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_237,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_245,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_261,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_15)); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_16,xi_243),xi_244),xi_261),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_17,xi_258),xi_259),xi_262),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_18,xi_253),xi_260),xi_262),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + } + for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const float xi_2 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_4 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_5 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const float xi_6 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const float xi_7 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_9 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const float xi_11 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_12 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_13 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const float xi_14 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const float xi_15 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_16 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_21 = 0.16666666666666666f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_22 = 0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_33 = 0.16666666666666666f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_34 = 0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_39 = 0.16666666666666666f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_40 = 0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_58 = 0.25f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_63 = xi_62*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_98 = random_3_0 - 0.5f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_124 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_125 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_126 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_129 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_138 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_139 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const float xi_140 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const float xi_145 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const float xi_147 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const float xi_156 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const float xi_157 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_158 = -2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_161 = xi_159*xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_191 = xi_160*xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160*xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_224 = xi_159*xi_223; + const float xi_227 = xi_149*xi_226; + const float xi_233 = xi_201*xi_223; + const float xi_234 = xi_199*xi_226; + const float xi_254 = xi_187*xi_226; + const float xi_255 = xi_190*xi_223; + const float xi_23 = rr_0*xi_22; + const float xi_35 = rr_0*xi_34; + const float xi_41 = rr_0*xi_40; + const float xi_46 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_50 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_72 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const float rho = delta_rho + 1.0f; + const float xi_95 = kT*rho; + const float xi_96 = powf(xi_95*(1.0f - ((-omega_even + 1.0f)*(-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96*xi_97*xi_98; + const float xi_102 = xi_100*xi_101*xi_96; + const float xi_105 = powf(xi_95*(1.0f - ((-omega_bulk + 1.0f)*(-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103*xi_104*xi_105; + const float xi_109 = xi_107*xi_108*xi_96; + const float xi_131 = xi_99*0.11904761904761904f; + const float xi_134 = powf(xi_95*(1.0f - ((-omega_shear + 1.0f)*(-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134*0.5f; + const float xi_136 = xi_133*xi_135; + const float xi_152 = powf(xi_95*(1.0f - ((-omega_odd + 1.0f)*(-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152*1.4142135623730951f; + const float xi_154 = xi_153*0.5f; + const float xi_163 = xi_104*xi_152; + const float xi_164 = xi_163*0.16666666666666666f; + const float xi_165 = xi_162*xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const float xi_169 = xi_102*0.10000000000000001f; + const float xi_175 = xi_134*xi_173*xi_174; + const float xi_176 = xi_175*0.16666666666666666f; + const float xi_184 = xi_109*0.071428571428571425f; + const float xi_193 = xi_164*xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const float xi_197 = xi_109*0.042857142857142858f; + const float xi_204 = xi_164*xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const float xi_207 = xi_133*xi_134*0.25f; + const float xi_210 = xi_99*0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135*(random_0_2 - 0.5f); + const float xi_222 = xi_135*(random_1_0 - 0.5f); + const float xi_228 = xi_163*0.083333333333333329f; + const float xi_229 = xi_162*xi_228; + const float xi_230 = xi_153*0.25f; + const float xi_231 = xi_151*xi_230; + const float xi_235 = xi_203*xi_228; + const float xi_236 = xi_200*xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109*0.014285714285714285f; + const float xi_241 = xi_99*0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109*0.035714285714285712f; + const float xi_251 = xi_135*(random_0_3 - 0.5f); + const float xi_256 = xi_188*xi_230; + const float xi_257 = xi_192*xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0*0.5f; + const float u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_17 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_28 = xi_17*0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17*0.083333333333333329f; + const float xi_31 = omega_shear*xi_30 + xi_29; + const float xi_48 = xi_17*xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17*xi_51; + const float xi_59 = u_0*xi_58; + const float xi_64 = u_0*xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear*u_0*-0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_85 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_86 = xi_85*0.25f; + const float xi_89 = xi_62*xi_85; + const float xi_111 = (u_0*u_0); + const float u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_18 = u_1*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_26 = xi_18*0.16666666666666666f; + const float xi_36 = omega_shear*u_1*-0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18*0.083333333333333329f; + const float xi_53 = xi_18*xi_51; + const float xi_60 = u_1*0.25f; + const float xi_61 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_65 = u_1*xi_62; + const float xi_66 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_79 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_110 = rho*(u_1*u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho*u_1; + const float xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_19 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_24 = xi_19*0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19*0.083333333333333329f; + const float xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear*u_2*-0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19*xi_51; + const float xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19*xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2*xi_58; + const float xi_80 = u_2*xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_88 = xi_87*0.25f; + const float xi_90 = xi_62*xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho*(u_2*u_2); + const float xi_114 = xi_112 + xi_113*0.66666666666666663f + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const float xi_115 = rho*xi_111*1.6666666666666667f + xi_110*0.66666666666666663f + xi_114 - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_116 = omega_even*xi_115; + const float xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk*xi_119; + const float xi_122 = xi_110*2.3333333333333335f + xi_114 + xi_121 - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_123 = omega_even*xi_122; + const float xi_127 = xi_112 + xi_113*3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - 4.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_128 = omega_even*xi_127; + const float xi_130 = xi_128*0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]); + const float xi_143 = xi_142*0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116*0.050000000000000003f; + const float xi_170 = rho*xi_111*2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_171 = omega_shear*xi_170; + const float xi_172 = xi_171*0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123*0.035714285714285712f; + const float xi_196 = xi_123*0.021428571428571429f; + const float xi_208 = xi_142*0.0625f; + const float xi_209 = xi_128*0.013888888888888888f; + const float xi_211 = xi_106*0.083333333333333329f + xi_120*0.041666666666666664f; + const float xi_212 = xi_171*0.020833333333333332f + xi_175*0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123*0.0071428571428571426f; + const float xi_240 = xi_128*0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102*0.050000000000000003f + xi_116*0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk*xi_119*-0.041666666666666664f + omega_even*xi_115*-0.025000000000000001f + xi_100*xi_101*xi_96*-0.050000000000000003f + xi_103*xi_104*xi_105*-0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123*0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0] = forceTerm_0 + xi_102*0.20000000000000001f - xi_106 + xi_109*0.085714285714285715f + xi_116*0.10000000000000001f + xi_120*-0.5f + xi_123*0.042857142857142858f + xi_128*0.023809523809523808f + xi_99*0.14285714285714285f + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even*xi_122*0.014285714285714285f + xi_107*xi_108*xi_96*0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + v_s)*0.16666666666666666f): (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109*0.028571428571428571f + xi_123*0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + v_s)*0.16666666666666666f): (0.0f)) + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171*0.083333333333333329f + xi_175*0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329f - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even*xi_127*0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233f; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128*0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233f + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + u_1*3.0f - v_s + 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + u_1*-3.0f - v_s - 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + u_1*3.0f - v_s - 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + u_1*-3.0f - v_s + 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + } } + } + } + } +} +} - __m256 random_2_0{}; - __m256 random_2_1{}; - __m256 random_2_2{}; - __m256 random_2_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - __m256 random_1_0{}; - __m256 random_1_1{}; - __m256 random_1_2{}; - __m256 random_1_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } +void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } + } - __m256 random_0_0{}; - __m256 random_0_1{}; - __m256 random_0_2{}; - __m256 random_0_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const __m256 xi_2 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_3 = _mm256_add_ps(_mm256_add_ps(xi_2, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_4 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_5 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_6 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_7 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_8 = _mm256_add_ps(xi_7, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_9 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_11 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_12 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_13 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_14 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_15 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_16 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_21 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_22 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_33 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_34 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_39 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_40 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_58 = _mm256_mul_ps(_mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_63 = _mm256_mul_ps(_mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_98 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_0); - const __m256 xi_101 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_2); - const __m256 xi_103 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_1); - const __m256 xi_108 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_1); - const __m256 xi_112 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])); - const __m256 xi_118 = _mm256_add_ps(xi_11, xi_3); - const __m256 xi_121 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256 xi_124 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_125 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_126 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256 xi_129 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256 xi_133 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_1); - const __m256 xi_137 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_138 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_139 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_140 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_145 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_146 = _mm256_add_ps(xi_14, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_147 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_148 = _mm256_add_ps(xi_147, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256 xi_149 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_145, xi_146), xi_148), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_151 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_3); - const __m256 xi_155 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_156 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_157 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_158 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - const __m256 xi_159 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(xi_157, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_148), xi_155), xi_156), xi_158), xi_5); - const __m256 xi_161 = _mm256_mul_ps(xi_159, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); - const __m256 xi_162 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_2); - const __m256 xi_174 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_0); - const __m256 xi_185 = _mm256_add_ps(xi_15, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_186 = _mm256_add_ps(xi_138, xi_185); - const __m256 xi_187 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), xi_186), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_188 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_1); - const __m256 xi_189 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_190 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(xi_157, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_158, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_186, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_189, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_7, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_191 = _mm256_mul_ps(xi_190, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); - const __m256 xi_192 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_0); - const __m256 xi_198 = _mm256_add_ps(_mm256_add_ps(xi_145, xi_155), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_199 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_198, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); - const __m256 xi_200 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_2); - const __m256 xi_201 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_124, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_125, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_126), xi_140), xi_198), xi_6); - const __m256 xi_202 = _mm256_mul_ps(xi_201, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); - const __m256 xi_203 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_3); - const __m256 xi_224 = _mm256_mul_ps(xi_159, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); - const __m256 xi_227 = _mm256_mul_ps(xi_149, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); - const __m256 xi_233 = _mm256_mul_ps(xi_201, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); - const __m256 xi_234 = _mm256_mul_ps(xi_199, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); - const __m256 xi_254 = _mm256_mul_ps(xi_187, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); - const __m256 xi_255 = _mm256_mul_ps(xi_190, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); - const __m256 xi_23 = _mm256_mul_ps(xi_22, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); - const __m256 xi_35 = _mm256_mul_ps(xi_34, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); - const __m256 xi_41 = _mm256_mul_ps(xi_40, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); - const __m256 xi_46 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_50 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_72 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 vel0Term = _mm256_add_ps(xi_3, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 vel1Term = _mm256_add_ps(xi_4, xi_5); - const __m256 vel2Term = _mm256_add_ps(xi_6, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 delta_rho = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(vel0Term, vel1Term), vel2Term), xi_8), xi_9), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256 rho = _mm256_add_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), delta_rho); - const __m256 xi_95 = _mm256_mul_ps(rho, _mm256_set_ps(kT, kT, kT, kT, kT, kT, kT, kT)); - const __m256 xi_96 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_99 = _mm256_mul_ps(_mm256_mul_ps(xi_96, xi_98), _mm256_set_ps(xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97)); - const __m256 xi_102 = _mm256_mul_ps(_mm256_mul_ps(xi_101, xi_96), _mm256_set_ps(xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100)); - const __m256 xi_105 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_106 = _mm256_mul_ps(_mm256_mul_ps(xi_103, xi_105), _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104)); - const __m256 xi_109 = _mm256_mul_ps(_mm256_mul_ps(xi_108, xi_96), _mm256_set_ps(xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107)); - const __m256 xi_131 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f)); - const __m256 xi_134 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_135 = _mm256_mul_ps(xi_134, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); - const __m256 xi_136 = _mm256_mul_ps(xi_133, xi_135); - const __m256 xi_152 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_153 = _mm256_mul_ps(xi_152, _mm256_set_ps(1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f)); - const __m256 xi_154 = _mm256_mul_ps(xi_153, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); - const __m256 xi_163 = _mm256_mul_ps(xi_152, _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104)); - const __m256 xi_164 = _mm256_mul_ps(xi_163, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_165 = _mm256_mul_ps(xi_162, xi_164); - const __m256 xi_166 = _mm256_add_ps(xi_161, xi_165); - const __m256 xi_167 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_149, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_151, xi_154)), xi_166); - const __m256 xi_169 = _mm256_mul_ps(xi_102, _mm256_set_ps(0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f)); - const __m256 xi_175 = _mm256_mul_ps(_mm256_mul_ps(xi_134, xi_174), _mm256_set_ps(xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173)); - const __m256 xi_176 = _mm256_mul_ps(xi_175, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_184 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f)); - const __m256 xi_193 = _mm256_mul_ps(xi_164, xi_192); - const __m256 xi_194 = _mm256_add_ps(xi_191, xi_193); - const __m256 xi_195 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_187, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_154, xi_188)), xi_194); - const __m256 xi_197 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f)); - const __m256 xi_204 = _mm256_mul_ps(xi_164, xi_203); - const __m256 xi_205 = _mm256_add_ps(xi_202, xi_204); - const __m256 xi_206 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_199, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_154, xi_200)), xi_205); - const __m256 xi_207 = _mm256_mul_ps(_mm256_mul_ps(xi_133, xi_134), _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_210 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_214 = _mm256_add_ps(_mm256_mul_ps(xi_191, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_193, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_215 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_2)); - const __m256 xi_222 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_0)); - const __m256 xi_228 = _mm256_mul_ps(xi_163, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_229 = _mm256_mul_ps(xi_162, xi_228); - const __m256 xi_230 = _mm256_mul_ps(xi_153, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_231 = _mm256_mul_ps(xi_151, xi_230); - const __m256 xi_235 = _mm256_mul_ps(xi_203, xi_228); - const __m256 xi_236 = _mm256_mul_ps(xi_200, xi_230); - const __m256 xi_237 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_233, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_235, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_234), xi_236); - const __m256 xi_239 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)); - const __m256 xi_241 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f)); - const __m256 xi_244 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_234, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_236, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_233), xi_235); - const __m256 xi_246 = _mm256_mul_ps(xi_207, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_249 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f)); - const __m256 xi_251 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_3)); - const __m256 xi_256 = _mm256_mul_ps(xi_188, xi_230); - const __m256 xi_257 = _mm256_mul_ps(xi_192, xi_228); - const __m256 xi_258 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_254, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_256, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_255), xi_257); - const __m256 xi_260 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_255, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_257, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_254), xi_256); - const __m256 xi_0 = _mm256_div_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), rho); - const __m256 xi_10 = _mm256_mul_ps(xi_0, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); - const __m256 u_0 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_11, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_8, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), vel0Term)), _mm256_mul_ps(xi_10, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256 xi_17 = _mm256_mul_ps(u_0, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_28 = _mm256_mul_ps(xi_17, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_29 = _mm256_mul_ps(xi_28, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_30 = _mm256_mul_ps(xi_17, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_31 = _mm256_add_ps(_mm256_mul_ps(xi_30, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), xi_29); - const __m256 xi_48 = _mm256_add_ps(_mm256_mul_ps(xi_17, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_29); - const __m256 xi_49 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_46, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_34), xi_48); - const __m256 xi_52 = _mm256_mul_ps(xi_17, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); - const __m256 xi_59 = _mm256_mul_ps(u_0, xi_58); - const __m256 xi_64 = _mm256_mul_ps(u_0, xi_63); - const __m256 xi_68 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_34, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_46), xi_48); - const __m256 xi_75 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_85 = _mm256_mul_ps(u_0, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_86 = _mm256_mul_ps(xi_85, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_89 = _mm256_mul_ps(xi_85, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); - const __m256 xi_111 = _mm256_mul_ps(u_0, u_0); - const __m256 u_1 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_12, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_13, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_9, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), vel1Term)), _mm256_mul_ps(xi_10, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 xi_18 = _mm256_mul_ps(u_1, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_26 = _mm256_mul_ps(xi_18, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_36 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_42 = _mm256_mul_ps(xi_26, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_43 = _mm256_mul_ps(xi_18, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_53 = _mm256_mul_ps(xi_18, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); - const __m256 xi_60 = _mm256_mul_ps(u_1, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_61 = _mm256_mul_ps(xi_60, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_65 = _mm256_mul_ps(u_1, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); - const __m256 xi_66 = _mm256_mul_ps(xi_65, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_67 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_64, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_66, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_59), xi_61); - const __m256 xi_69 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_59, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_61, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_64), xi_66); - const __m256 xi_77 = _mm256_mul_ps(xi_60, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_79 = _mm256_mul_ps(xi_65, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_110 = _mm256_mul_ps(rho, _mm256_mul_ps(u_1, u_1)); - const __m256 xi_117 = _mm256_mul_ps(xi_110, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_216 = _mm256_mul_ps(rho, u_1); - const __m256 xi_218 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(u_0, xi_216)), xi_12), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); - const __m256 xi_219 = _mm256_add_ps(_mm256_mul_ps(xi_215, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_218, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_220 = _mm256_add_ps(xi_215, xi_218); - const __m256 u_2 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_14, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_15, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_16, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), vel2Term)), _mm256_mul_ps(xi_10, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 xi_19 = _mm256_mul_ps(u_2, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_24 = _mm256_mul_ps(xi_19, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_25 = _mm256_mul_ps(xi_24, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_27 = _mm256_mul_ps(xi_19, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_32 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(xi_27, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(xi_26, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), xi_25), xi_31); - const __m256 xi_37 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_38 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_28, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), xi_24), xi_26), xi_36), xi_37); - const __m256 xi_44 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_19, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(xi_43, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(xi_24, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), xi_31), xi_42); - const __m256 xi_54 = _mm256_mul_ps(xi_19, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); - const __m256 xi_55 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_42), xi_52), xi_53), xi_54); - const __m256 xi_56 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_22, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_50), xi_55); - const __m256 xi_57 = _mm256_add_ps(_mm256_add_ps(xi_27, xi_37), xi_56); - const __m256 xi_70 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_50, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_22), xi_55); - const __m256 xi_71 = _mm256_add_ps(_mm256_add_ps(xi_27, xi_37), xi_70); - const __m256 xi_73 = _mm256_add_ps(_mm256_mul_ps(xi_19, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_25); - const __m256 xi_74 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_40, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_72), xi_73); - const __m256 xi_76 = _mm256_add_ps(_mm256_add_ps(xi_30, xi_56), xi_75); - const __m256 xi_78 = _mm256_mul_ps(u_2, xi_58); - const __m256 xi_80 = _mm256_mul_ps(u_2, xi_63); - const __m256 xi_81 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_77, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_78, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_79), xi_80); - const __m256 xi_82 = _mm256_add_ps(_mm256_add_ps(xi_30, xi_70), xi_75); - const __m256 xi_83 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_79, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_80, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_77), xi_78); - const __m256 xi_84 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36, xi_43), xi_52), xi_53), xi_54), xi_74); - const __m256 xi_87 = _mm256_mul_ps(u_2, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_88 = _mm256_mul_ps(xi_87, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_90 = _mm256_mul_ps(xi_87, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); - const __m256 xi_91 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_89, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_90, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_86), xi_88); - const __m256 xi_92 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_86, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_88, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_89), xi_90); - const __m256 xi_93 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_72, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_40), xi_73); - const __m256 xi_94 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36, xi_43), xi_52), xi_53), xi_54), xi_93); - const __m256 xi_113 = _mm256_mul_ps(rho, _mm256_mul_ps(u_2, u_2)); - const __m256 xi_114 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_113, _mm256_set_ps(0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f))), xi_112); - const __m256 xi_115 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_110, _mm256_set_ps(0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, xi_111), _mm256_set_ps(1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f))), xi_114); - const __m256 xi_116 = _mm256_mul_ps(xi_115, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); - const __m256 xi_119 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_112, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_117, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_118, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_13, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_16, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_5, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(rho, xi_111)), xi_113); - const __m256 xi_120 = _mm256_mul_ps(xi_119, _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)); - const __m256 xi_122 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_110, _mm256_set_ps(2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f)), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), xi_114), xi_121); - const __m256 xi_123 = _mm256_mul_ps(xi_122, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); - const __m256 xi_127 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_113, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f)), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), xi_112), xi_121), xi_124), xi_125), xi_126); - const __m256 xi_128 = _mm256_mul_ps(xi_127, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); - const __m256 xi_130 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f)); - const __m256 xi_132 = _mm256_add_ps(xi_130, xi_131); - const __m256 xi_141 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_113, xi_139), xi_140), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_142 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_117, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_137, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_138, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_141, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_15, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_2, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_4, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256 xi_143 = _mm256_mul_ps(xi_142, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)); - const __m256 xi_144 = _mm256_add_ps(_mm256_mul_ps(xi_136, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_143, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_168 = _mm256_mul_ps(xi_116, _mm256_set_ps(0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f)); - const __m256 xi_170 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_110, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_118, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_129, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_141, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_147, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, xi_111), _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))); - const __m256 xi_171 = _mm256_mul_ps(xi_170, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256 xi_172 = _mm256_mul_ps(xi_171, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)); - const __m256 xi_177 = _mm256_add_ps(xi_172, xi_176); - const __m256 xi_178 = _mm256_add_ps(_mm256_add_ps(xi_168, xi_169), xi_177); - const __m256 xi_179 = _mm256_add_ps(_mm256_mul_ps(xi_130, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_131, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_180 = _mm256_add_ps(xi_136, xi_143); - const __m256 xi_181 = _mm256_add_ps(_mm256_mul_ps(xi_172, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_176, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_182 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_168, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_169, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_181); - const __m256 xi_183 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f)); - const __m256 xi_196 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f)); - const __m256 xi_208 = _mm256_mul_ps(xi_142, _mm256_set_ps(0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f)); - const __m256 xi_209 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f)); - const __m256 xi_211 = _mm256_add_ps(_mm256_mul_ps(xi_120, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(xi_106, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))); - const __m256 xi_212 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171, _mm256_set_ps(0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f)), _mm256_mul_ps(xi_175, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), xi_211); - const __m256 xi_213 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_166, xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256 xi_221 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_161, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_165, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256 xi_225 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(u_2, xi_216), xi_146), xi_155), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); - const __m256 xi_232 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_224, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_229, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_222), xi_225), xi_227), xi_231); - const __m256 xi_238 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f)); - const __m256 xi_240 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f)); - const __m256 xi_242 = _mm256_add_ps(_mm256_mul_ps(xi_240, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_241, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_243 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_116, _mm256_set_ps(0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f)), _mm256_mul_ps(xi_102, _mm256_set_ps(0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f))), _mm256_mul_ps(xi_238, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_239, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_181), xi_211), xi_242); - const __m256 xi_245 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(xi_115, _mm256_set_ps(-0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_mul_ps(_mm256_mul_ps(xi_119, _mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f)), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_101, xi_96), _mm256_set_ps(-0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f)), _mm256_set_ps(xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_103, xi_105), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104))), xi_177), xi_238), xi_239), xi_240), xi_241); - const __m256 xi_247 = _mm256_mul_ps(xi_208, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_248 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f)); - const __m256 xi_250 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_205, xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256 xi_252 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(rho, u_0), u_2), xi_137), xi_185), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); - const __m256 xi_253 = _mm256_add_ps(_mm256_mul_ps(xi_251, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_252, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_259 = _mm256_add_ps(xi_251, xi_252); - const __m256 xi_261 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_227, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_231, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_222), xi_224), xi_225), xi_229); - const __m256 xi_262 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_202, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_204, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256 forceTerm_0 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_17, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_18, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_19, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_17, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))), _mm256_mul_ps(xi_18, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))), _mm256_mul_ps(xi_19, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))); - const __m256 forceTerm_1 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_23, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_21), xi_32); - const __m256 forceTerm_2 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_21, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_23), xi_32); - const __m256 forceTerm_3 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_33, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_38, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_35); - const __m256 forceTerm_4 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_35, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_38, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_33); - const __m256 forceTerm_5 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_41, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_39), xi_44); - const __m256 forceTerm_6 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_39, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_41), xi_44); - const __m256 forceTerm_7 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_57, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_67, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_8 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_57, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_69, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_9 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_69, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_71, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_10 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_67, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_71, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_11 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_76, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_81, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_12 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_82, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_83, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_13 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_84, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_91, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_14 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_84, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_92, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_15 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_76, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_83, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_93, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_16 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_81, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_82, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_93, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_17 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_92, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_94, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_18 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_91, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_94, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128, _mm256_set_ps(0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f)), _mm256_mul_ps(xi_99, _mm256_set_ps(0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f))), _mm256_mul_ps(xi_123, _mm256_set_ps(0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f))), _mm256_mul_ps(xi_109, _mm256_set_ps(0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f))), _mm256_mul_ps(xi_116, _mm256_set_ps(0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f))), _mm256_mul_ps(xi_102, _mm256_set_ps(0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f))), _mm256_mul_ps(xi_120, _mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f))), _mm256_mul_ps(xi_106, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_0), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_129, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_132, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_144, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_167, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_178, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_122, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_108, xi_96), _mm256_set_ps(0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f)), _mm256_set_ps(xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107))), forceTerm_1)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_123, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)), _mm256_mul_ps(xi_109, _mm256_set_ps(0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f))), forceTerm_2), xi_167), xi_179), xi_180), xi_182), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_mul_ps(xi_175, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f))), _mm256_mul_ps(xi_183, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_184, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_3), xi_179), xi_195), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_132, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_183, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_184, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_189, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_195, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_170, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_134, xi_174), _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_set_ps(xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173))), forceTerm_4)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_178, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_180, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_196, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_197, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_206, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_127, _mm256_set_ps(0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_96, xi_98), _mm256_set_ps(0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f)), _mm256_set_ps(xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s))), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_5)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128, _mm256_set_ps(0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f)), _mm256_mul_ps(xi_99, _mm256_set_ps(0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f))), _mm256_mul_ps(xi_196, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_197, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s))), _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ))), forceTerm_6), xi_144), xi_182), xi_206), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_7, xi_213), xi_214), xi_219), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_8, xi_194), xi_213), xi_220), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_9, xi_214), xi_220), xi_221), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_10, xi_194), xi_219), xi_221), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_1, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f))), _mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ)), forceTerm_11), xi_232), xi_237), xi_243), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_156, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_232, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_244, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_245, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f))), _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _mm256_set_ps(grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size, grid_size), _CMP_GE_OQ))), forceTerm_12)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f))), _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ)), forceTerm_13), xi_250), xi_253), xi_258), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_blendv_ps(_mm256_set_ps(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(rho, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_mul_ps(u_0, _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))), _mm256_mul_ps(u_1, _mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f))), _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(v_s, v_s, v_s, v_s, v_s, v_s, v_s, v_s)), _mm256_cmp_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), _mm256_set_ps(((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1)), ((float)(ctr_1))), _CMP_GE_OQ)), forceTerm_14), xi_250), xi_259), xi_260), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_145, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_237, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_245, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_261, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_15)); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_16, xi_243), xi_244), xi_261), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_17, xi_258), xi_259), xi_262), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_18, xi_253), xi_260), xi_262), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - } - for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & v_s = this->v_s_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & grid_size = this->grid_size_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); - float random_3_0{}; - float random_3_1{}; - float random_3_2{}; - float random_3_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); - } +} - float random_2_0{}; - float random_2_1{}; - float random_2_2{}; - float random_2_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - float random_1_0{}; - float random_1_1{}; - float random_1_2{}; - float random_1_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } +void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - float random_0_0{}; - float random_0_1{}; - float random_0_2{}; - float random_0_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const float xi_2 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_4 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_5 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const float xi_6 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const float xi_7 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_9 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const float xi_11 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_12 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_13 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const float xi_14 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const float xi_15 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_16 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_58 = 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_63 = xi_62 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_98 = random_3_0 - 0.5f; - const float xi_101 = random_3_2 - 0.5f; - const float xi_103 = random_1_1 - 0.5f; - const float xi_108 = random_3_1 - 0.5f; - const float xi_112 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const float xi_118 = xi_11 + xi_3; - const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_129 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_133 = random_0_1 - 0.5f; - const float xi_137 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_138 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_139 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const float xi_140 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const float xi_145 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; - const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const float xi_147 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const float xi_151 = random_2_3 - 0.5f; - const float xi_155 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const float xi_156 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_161 = xi_159 * xi_160; - const float xi_162 = random_1_2 - 0.5f; - const float xi_174 = random_0_0 - 0.5f; - const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_186 = xi_138 + xi_185; - const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_188 = random_2_1 - 0.5f; - const float xi_189 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_191 = xi_160 * xi_190; - const float xi_192 = random_2_0 - 0.5f; - const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const float xi_200 = random_2_2 - 0.5f; - const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const float xi_202 = xi_160 * xi_201; - const float xi_203 = random_1_3 - 0.5f; - const float xi_224 = xi_159 * xi_223; - const float xi_227 = xi_149 * xi_226; - const float xi_233 = xi_201 * xi_223; - const float xi_234 = xi_199 * xi_226; - const float xi_254 = xi_187 * xi_226; - const float xi_255 = xi_190 * xi_223; - const float xi_23 = rr_0 * xi_22; - const float xi_35 = rr_0 * xi_34; - const float xi_41 = rr_0 * xi_40; - const float xi_46 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_50 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_72 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const float vel1Term = xi_4 + xi_5; - const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const float rho = delta_rho + 1.0f; - const float xi_95 = kT * rho; - const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); - const float xi_99 = xi_96 * xi_97 * xi_98; - const float xi_102 = xi_100 * xi_101 * xi_96; - const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); - const float xi_106 = xi_103 * xi_104 * xi_105; - const float xi_109 = xi_107 * xi_108 * xi_96; - const float xi_131 = xi_99 * 0.11904761904761904f; - const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); - const float xi_135 = xi_134 * 0.5f; - const float xi_136 = xi_133 * xi_135; - const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); - const float xi_153 = xi_152 * 1.4142135623730951f; - const float xi_154 = xi_153 * 0.5f; - const float xi_163 = xi_104 * xi_152; - const float xi_164 = xi_163 * 0.16666666666666666f; - const float xi_165 = xi_162 * xi_164; - const float xi_166 = xi_161 + xi_165; - const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const float xi_169 = xi_102 * 0.10000000000000001f; - const float xi_175 = xi_134 * xi_173 * xi_174; - const float xi_176 = xi_175 * 0.16666666666666666f; - const float xi_184 = xi_109 * 0.071428571428571425f; - const float xi_193 = xi_164 * xi_192; - const float xi_194 = xi_191 + xi_193; - const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const float xi_197 = xi_109 * 0.042857142857142858f; - const float xi_204 = xi_164 * xi_203; - const float xi_205 = xi_202 + xi_204; - const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const float xi_207 = xi_133 * xi_134 * 0.25f; - const float xi_210 = xi_99 * 0.083333333333333329f; - const float xi_214 = -xi_191 - xi_193; - const float xi_215 = xi_135 * (random_0_2 - 0.5f); - const float xi_222 = xi_135 * (random_1_0 - 0.5f); - const float xi_228 = xi_163 * 0.083333333333333329f; - const float xi_229 = xi_162 * xi_228; - const float xi_230 = xi_153 * 0.25f; - const float xi_231 = xi_151 * xi_230; - const float xi_235 = xi_203 * xi_228; - const float xi_236 = xi_200 * xi_230; - const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const float xi_239 = xi_109 * 0.014285714285714285f; - const float xi_241 = xi_99 * 0.023809523809523808f; - const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const float xi_246 = -xi_207; - const float xi_249 = xi_109 * 0.035714285714285712f; - const float xi_251 = xi_135 * (random_0_3 - 0.5f); - const float xi_256 = xi_188 * xi_230; - const float xi_257 = xi_192 * xi_228; - const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const float xi_0 = ((1.0f) / (rho)); - const float xi_10 = xi_0 * 0.5f; - const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_17 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_28 = xi_17 * 0.16666666666666666f; - const float xi_29 = -xi_28; - const float xi_30 = xi_17 * 0.083333333333333329f; - const float xi_31 = omega_shear * xi_30 + xi_29; - const float xi_48 = xi_17 * xi_47 + xi_29; - const float xi_49 = xi_34 - xi_46 + xi_48; - const float xi_52 = xi_17 * xi_51; - const float xi_59 = u_0 * xi_58; - const float xi_64 = u_0 * xi_63; - const float xi_68 = -xi_34 + xi_46 + xi_48; - const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_85 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_86 = xi_85 * 0.25f; - const float xi_89 = xi_62 * xi_85; - const float xi_111 = (u_0 * u_0); - const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_18 = u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_26 = xi_18 * 0.16666666666666666f; - const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_42 = -xi_26; - const float xi_43 = xi_18 * 0.083333333333333329f; - const float xi_53 = xi_18 * xi_51; - const float xi_60 = u_1 * 0.25f; - const float xi_61 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_65 = u_1 * xi_62; - const float xi_66 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const float xi_77 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_79 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_110 = rho * (u_1 * u_1); - const float xi_117 = -xi_110; - const float xi_216 = rho * u_1; - const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]); - const float xi_219 = -xi_215 - xi_218; - const float xi_220 = xi_215 + xi_218; - const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_19 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_24 = xi_19 * 0.16666666666666666f; - const float xi_25 = -xi_24; - const float xi_27 = xi_19 * 0.083333333333333329f; - const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; - const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; - const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; - const float xi_54 = xi_19 * xi_51; - const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const float xi_56 = -xi_22 + xi_50 + xi_55; - const float xi_57 = xi_27 + xi_37 + xi_56; - const float xi_70 = xi_22 - xi_50 + xi_55; - const float xi_71 = xi_27 + xi_37 + xi_70; - const float xi_73 = xi_19 * xi_47 + xi_25; - const float xi_74 = -xi_40 + xi_72 + xi_73; - const float xi_76 = xi_30 + xi_56 + xi_75; - const float xi_78 = u_2 * xi_58; - const float xi_80 = u_2 * xi_63; - const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const float xi_82 = xi_30 + xi_70 + xi_75; - const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const float xi_87 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_88 = xi_87 * 0.25f; - const float xi_90 = xi_62 * xi_87; - const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const float xi_93 = xi_40 - xi_72 + xi_73; - const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const float xi_113 = rho * (u_2 * u_2); - const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_116 = omega_even * xi_115; - const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const float xi_120 = omega_bulk * xi_119; - const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_123 = omega_even * xi_122; - const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 4.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_128 = omega_even * xi_127; - const float xi_130 = xi_128 * 0.01984126984126984f; - const float xi_132 = xi_130 + xi_131; - const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]); - const float xi_143 = xi_142 * 0.125f; - const float xi_144 = -xi_136 - xi_143; - const float xi_168 = xi_116 * 0.050000000000000003f; - const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_171 = omega_shear * xi_170; - const float xi_172 = xi_171 * 0.041666666666666664f; - const float xi_177 = xi_172 + xi_176; - const float xi_178 = xi_168 + xi_169 + xi_177; - const float xi_179 = -xi_130 - xi_131; - const float xi_180 = xi_136 + xi_143; - const float xi_181 = -xi_172 - xi_176; - const float xi_182 = -xi_168 - xi_169 + xi_181; - const float xi_183 = xi_123 * 0.035714285714285712f; - const float xi_196 = xi_123 * 0.021428571428571429f; - const float xi_208 = xi_142 * 0.0625f; - const float xi_209 = xi_128 * 0.013888888888888888f; - const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; - const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; - const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]); - const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const float xi_238 = xi_123 * 0.0071428571428571426f; - const float xi_240 = xi_128 * 0.003968253968253968f; - const float xi_242 = -xi_240 - xi_241; - const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const float xi_247 = -xi_208; - const float xi_248 = xi_123 * 0.017857142857142856f; - const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]); - const float xi_253 = -xi_251 - xi_252; - const float xi_259 = xi_251 + xi_252; - const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const float forceTerm_1 = xi_21 - xi_23 + xi_32; - const float forceTerm_2 = -xi_21 + xi_23 + xi_32; - const float forceTerm_3 = -xi_33 + xi_35 - xi_38; - const float forceTerm_4 = xi_33 - xi_35 - xi_38; - const float forceTerm_5 = xi_39 - xi_41 + xi_44; - const float forceTerm_6 = -xi_39 + xi_41 + xi_44; - const float forceTerm_7 = -xi_49 - xi_57 - xi_67; - const float forceTerm_8 = -xi_57 - xi_68 - xi_69; - const float forceTerm_9 = -xi_49 - xi_69 - xi_71; - const float forceTerm_10 = -xi_67 - xi_68 - xi_71; - const float forceTerm_11 = -xi_74 - xi_76 - xi_81; - const float forceTerm_12 = -xi_74 - xi_82 - xi_83; - const float forceTerm_13 = -xi_49 - xi_84 - xi_91; - const float forceTerm_14 = -xi_68 - xi_84 - xi_92; - const float forceTerm_15 = -xi_76 - xi_83 - xi_93; - const float forceTerm_16 = -xi_81 - xi_82 - xi_93; - const float forceTerm_17 = -xi_49 - xi_92 - xi_94; - const float forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)); - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)); - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - } + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; } - } } - } -} -} // namespace internal_c275fa5bef4a1b9f30058dc82d50d3cf -void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & v_s = this->v_s_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & grid_size = this->grid_size_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - - auto &omega_even = this->omega_even_; - auto &v_s = this->v_s_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); } -void StreamCollideSweepLeesEdwardsSinglePrecisionAVX::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; - - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - - auto &omega_even = this->omega_even_; - auto &v_s = this->v_s_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &grid_size = this->grid_size_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_c275fa5bef4a1b9f30058dc82d50d3cf::streamcollidesweepleesedwardssingleprecisionavx_streamcollidesweepleesedwardssingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); -} } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu index 5207f52655..632f33005e 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.cu @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepLeesEdwardsSinglePrecisionCUDA.h" + #include "philox_rand.h" + + #define FUNC_PREFIX __global__ -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,506 +51,524 @@ using namespace std; namespace walberla { namespace pystencils { -namespace internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda { -static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) { - if (blockDim.x * blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y * blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z * blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) { - const int64_t ctr_0 = blockDim.x * blockIdx.x + threadIdx.x + 1; - const int64_t ctr_1 = blockDim.y * blockIdx.y + threadIdx.y + 1; - const int64_t ctr_2 = blockDim.z * blockIdx.z + threadIdx.z + 1; - float random_3_0{}; - float random_3_1{}; - float random_3_2{}; - float random_3_3{}; - if (kT > 0.) { +namespace internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda { +static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda(float * RESTRICT const _data_force, float * RESTRICT const _data_pdfs, float * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float grid_size, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step, float v_s) +{ + if (blockDim.x*blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y*blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z*blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x + 1; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y + 1; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z + 1; + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); - } - - float random_2_0{}; - float random_2_1{}; - float random_2_2{}; - float random_2_3{}; - if (kT > 0.) { + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - - float random_1_0{}; - float random_1_1{}; - float random_1_2{}; - float random_1_3{}; - if (kT > 0.) { + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } - - float random_0_0{}; - float random_0_1{}; - float random_0_2{}; - float random_0_3{}; - if (kT > 0.) { + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const float xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const float xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_20 = omega_bulk * 0.5f; - const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_47 = omega_shear * 0.041666666666666664f; - const float xi_51 = omega_bulk * 0.041666666666666664f; - const float xi_58 = 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_62 = omega_shear * 0.125f; - const float xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_97 = 3.7416573867739413f; - const float xi_98 = random_3_0 - 0.5f; - const float xi_100 = 5.4772255750516612f; - const float xi_101 = random_3_2 - 0.5f; - const float xi_103 = random_1_1 - 0.5f; - const float xi_104 = 2.4494897427831779f; - const float xi_107 = 8.3666002653407556f; - const float xi_108 = random_3_1 - 0.5f; - const float xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float xi_118 = xi_11 + xi_3; - const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_133 = random_0_1 - 0.5f; - const float xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_150 = omega_odd * 0.25f; - const float xi_151 = random_2_3 - 0.5f; - const float xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_160 = omega_odd * 0.083333333333333329f; - const float xi_161 = xi_159 * xi_160; - const float xi_162 = random_1_2 - 0.5f; - const float xi_173 = 1.7320508075688772f; - const float xi_174 = random_0_0 - 0.5f; - const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_186 = xi_138 + xi_185; - const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_188 = random_2_1 - 0.5f; - const float xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_191 = xi_160 * xi_190; - const float xi_192 = random_2_0 - 0.5f; - const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_200 = random_2_2 - 0.5f; - const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const float xi_202 = xi_160 * xi_201; - const float xi_203 = random_1_3 - 0.5f; - const float xi_217 = omega_shear * 0.25f; - const float xi_223 = omega_odd * 0.041666666666666664f; - const float xi_224 = xi_159 * xi_223; - const float xi_226 = omega_odd * 0.125f; - const float xi_227 = xi_149 * xi_226; - const float xi_233 = xi_201 * xi_223; - const float xi_234 = xi_199 * xi_226; - const float xi_254 = xi_187 * xi_226; - const float xi_255 = xi_190 * xi_223; - const float rr_0 = 0.0f; - const float xi_23 = rr_0 * xi_22; - const float xi_35 = rr_0 * xi_34; - const float xi_41 = rr_0 * xi_40; - const float xi_45 = rr_0 * 0.041666666666666664f; - const float xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float vel1Term = xi_4 + xi_5; - const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float rho = delta_rho + 1.0f; - const float xi_95 = kT * rho; - const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); - const float xi_99 = xi_96 * xi_97 * xi_98; - const float xi_102 = xi_100 * xi_101 * xi_96; - const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); - const float xi_106 = xi_103 * xi_104 * xi_105; - const float xi_109 = xi_107 * xi_108 * xi_96; - const float xi_131 = xi_99 * 0.11904761904761904f; - const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); - const float xi_135 = xi_134 * 0.5f; - const float xi_136 = xi_133 * xi_135; - const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); - const float xi_153 = xi_152 * 1.4142135623730951f; - const float xi_154 = xi_153 * 0.5f; - const float xi_163 = xi_104 * xi_152; - const float xi_164 = xi_163 * 0.16666666666666666f; - const float xi_165 = xi_162 * xi_164; - const float xi_166 = xi_161 + xi_165; - const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const float xi_169 = xi_102 * 0.10000000000000001f; - const float xi_175 = xi_134 * xi_173 * xi_174; - const float xi_176 = xi_175 * 0.16666666666666666f; - const float xi_184 = xi_109 * 0.071428571428571425f; - const float xi_193 = xi_164 * xi_192; - const float xi_194 = xi_191 + xi_193; - const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const float xi_197 = xi_109 * 0.042857142857142858f; - const float xi_204 = xi_164 * xi_203; - const float xi_205 = xi_202 + xi_204; - const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const float xi_207 = xi_133 * xi_134 * 0.25f; - const float xi_210 = xi_99 * 0.083333333333333329f; - const float xi_214 = -xi_191 - xi_193; - const float xi_215 = xi_135 * (random_0_2 - 0.5f); - const float xi_222 = xi_135 * (random_1_0 - 0.5f); - const float xi_228 = xi_163 * 0.083333333333333329f; - const float xi_229 = xi_162 * xi_228; - const float xi_230 = xi_153 * 0.25f; - const float xi_231 = xi_151 * xi_230; - const float xi_235 = xi_203 * xi_228; - const float xi_236 = xi_200 * xi_230; - const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const float xi_239 = xi_109 * 0.014285714285714285f; - const float xi_241 = xi_99 * 0.023809523809523808f; - const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const float xi_246 = -xi_207; - const float xi_249 = xi_109 * 0.035714285714285712f; - const float xi_251 = xi_135 * (random_0_3 - 0.5f); - const float xi_256 = xi_188 * xi_230; - const float xi_257 = xi_192 * xi_228; - const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const float xi_0 = ((1.0f) / (rho)); - const float xi_10 = xi_0 * 0.5f; - const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_28 = xi_17 * 0.16666666666666666f; - const float xi_29 = -xi_28; - const float xi_30 = xi_17 * 0.083333333333333329f; - const float xi_31 = omega_shear * xi_30 + xi_29; - const float xi_48 = xi_17 * xi_47 + xi_29; - const float xi_49 = xi_34 - xi_46 + xi_48; - const float xi_52 = xi_17 * xi_51; - const float xi_59 = u_0 * xi_58; - const float xi_64 = u_0 * xi_63; - const float xi_68 = -xi_34 + xi_46 + xi_48; - const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_86 = xi_85 * 0.25f; - const float xi_89 = xi_62 * xi_85; - const float xi_111 = u_0 * u_0; - const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_26 = xi_18 * 0.16666666666666666f; - const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_42 = -xi_26; - const float xi_43 = xi_18 * 0.083333333333333329f; - const float xi_53 = xi_18 * xi_51; - const float xi_60 = u_1 * 0.25f; - const float xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_65 = u_1 * xi_62; - const float xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const float xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_110 = rho * (u_1 * u_1); - const float xi_117 = -xi_110; - const float xi_216 = rho * u_1; - const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const float xi_219 = -xi_215 - xi_218; - const float xi_220 = xi_215 + xi_218; - const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_24 = xi_19 * 0.16666666666666666f; - const float xi_25 = -xi_24; - const float xi_27 = xi_19 * 0.083333333333333329f; - const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; - const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; - const float xi_54 = xi_19 * xi_51; - const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const float xi_56 = -xi_22 + xi_50 + xi_55; - const float xi_57 = xi_27 + xi_37 + xi_56; - const float xi_70 = xi_22 - xi_50 + xi_55; - const float xi_71 = xi_27 + xi_37 + xi_70; - const float xi_73 = xi_19 * xi_47 + xi_25; - const float xi_74 = -xi_40 + xi_72 + xi_73; - const float xi_76 = xi_30 + xi_56 + xi_75; - const float xi_78 = u_2 * xi_58; - const float xi_80 = u_2 * xi_63; - const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const float xi_82 = xi_30 + xi_70 + xi_75; - const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const float xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_88 = xi_87 * 0.25f; - const float xi_90 = xi_62 * xi_87; - const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const float xi_93 = xi_40 - xi_72 + xi_73; - const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const float xi_113 = rho * (u_2 * u_2); - const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_116 = omega_even * xi_115; - const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const float xi_120 = omega_bulk * xi_119; - const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_123 = omega_even * xi_122; - const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_128 = omega_even * xi_127; - const float xi_130 = xi_128 * 0.01984126984126984f; - const float xi_132 = xi_130 + xi_131; - const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const float xi_143 = xi_142 * 0.125f; - const float xi_144 = -xi_136 - xi_143; - const float xi_168 = xi_116 * 0.050000000000000003f; - const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_171 = omega_shear * xi_170; - const float xi_172 = xi_171 * 0.041666666666666664f; - const float xi_177 = xi_172 + xi_176; - const float xi_178 = xi_168 + xi_169 + xi_177; - const float xi_179 = -xi_130 - xi_131; - const float xi_180 = xi_136 + xi_143; - const float xi_181 = -xi_172 - xi_176; - const float xi_182 = -xi_168 - xi_169 + xi_181; - const float xi_183 = xi_123 * 0.035714285714285712f; - const float xi_196 = xi_123 * 0.021428571428571429f; - const float xi_208 = xi_142 * 0.0625f; - const float xi_209 = xi_128 * 0.013888888888888888f; - const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; - const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; - const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const float xi_238 = xi_123 * 0.0071428571428571426f; - const float xi_240 = xi_128 * 0.003968253968253968f; - const float xi_242 = -xi_240 - xi_241; - const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const float xi_247 = -xi_208; - const float xi_248 = xi_123 * 0.017857142857142856f; - const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const float xi_253 = -xi_251 - xi_252; - const float xi_259 = xi_251 + xi_252; - const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const float forceTerm_1 = xi_21 - xi_23 + xi_32; - const float forceTerm_2 = -xi_21 + xi_23 + xi_32; - const float forceTerm_3 = -xi_33 + xi_35 - xi_38; - const float forceTerm_4 = xi_33 - xi_35 - xi_38; - const float forceTerm_5 = xi_39 - xi_41 + xi_44; - const float forceTerm_6 = -xi_39 + xi_41 + xi_44; - const float forceTerm_7 = -xi_49 - xi_57 - xi_67; - const float forceTerm_8 = -xi_57 - xi_68 - xi_69; - const float forceTerm_9 = -xi_49 - xi_69 - xi_71; - const float forceTerm_10 = -xi_67 - xi_68 - xi_71; - const float forceTerm_11 = -xi_74 - xi_76 - xi_81; - const float forceTerm_12 = -xi_74 - xi_82 - xi_83; - const float forceTerm_13 = -xi_49 - xi_84 - xi_91; - const float forceTerm_14 = -xi_68 - xi_84 - xi_92; - const float forceTerm_15 = -xi_76 - xi_83 - xi_93; - const float forceTerm_16 = -xi_81 - xi_82 - xi_93; - const float forceTerm_17 = -xi_49 - xi_92 - xi_94; - const float forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + v_s) * 0.16666666666666666f) : (0.0f)); - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + v_s) * 0.16666666666666666f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * 3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245 + ((grid_size <= ((float)(ctr_1))) ? (rho * v_s * (u_0 * -2.0f + u_1 * -3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)); - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * 3.0f - v_s - 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + ((1.0f >= ((float)(ctr_1))) ? (rho * v_s * (u_0 * 2.0f + u_1 * -3.0f - v_s + 1.0f) * 0.083333333333333329f) : (0.0f)) + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - } + } + const float xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const float xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_20 = omega_bulk*0.5f; + const float xi_21 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_22 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_33 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_34 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_39 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_40 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_47 = omega_shear*0.041666666666666664f; + const float xi_51 = omega_bulk*0.041666666666666664f; + const float xi_58 = 0.25f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_62 = omega_shear*0.125f; + const float xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_97 = 3.7416573867739413f; + const float xi_98 = random_3_0 - 0.5f; + const float xi_100 = 5.4772255750516612f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_124 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_125 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_126 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_150 = omega_odd*0.25f; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_157 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_158 = -2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_160 = omega_odd*0.083333333333333329f; + const float xi_161 = xi_159*xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_173 = 1.7320508075688772f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_191 = xi_160*xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160*xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_217 = omega_shear*0.25f; + const float xi_223 = omega_odd*0.041666666666666664f; + const float xi_224 = xi_159*xi_223; + const float xi_226 = omega_odd*0.125f; + const float xi_227 = xi_149*xi_226; + const float xi_233 = xi_201*xi_223; + const float xi_234 = xi_199*xi_226; + const float xi_254 = xi_187*xi_226; + const float xi_255 = xi_190*xi_223; + const float rr_0 = 0.0f; + const float xi_23 = rr_0*xi_22; + const float xi_35 = rr_0*xi_34; + const float xi_41 = rr_0*xi_40; + const float xi_45 = rr_0*0.041666666666666664f; + const float xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float rho = delta_rho + 1.0f; + const float xi_95 = kT*rho; + const float xi_96 = powf(xi_95*(1.0f - ((-omega_even + 1.0f)*(-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96*xi_97*xi_98; + const float xi_102 = xi_100*xi_101*xi_96; + const float xi_105 = powf(xi_95*(1.0f - ((-omega_bulk + 1.0f)*(-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103*xi_104*xi_105; + const float xi_109 = xi_107*xi_108*xi_96; + const float xi_131 = xi_99*0.11904761904761904f; + const float xi_134 = powf(xi_95*(1.0f - ((-omega_shear + 1.0f)*(-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134*0.5f; + const float xi_136 = xi_133*xi_135; + const float xi_152 = powf(xi_95*(1.0f - ((-omega_odd + 1.0f)*(-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152*1.4142135623730951f; + const float xi_154 = xi_153*0.5f; + const float xi_163 = xi_104*xi_152; + const float xi_164 = xi_163*0.16666666666666666f; + const float xi_165 = xi_162*xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const float xi_169 = xi_102*0.10000000000000001f; + const float xi_175 = xi_134*xi_173*xi_174; + const float xi_176 = xi_175*0.16666666666666666f; + const float xi_184 = xi_109*0.071428571428571425f; + const float xi_193 = xi_164*xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const float xi_197 = xi_109*0.042857142857142858f; + const float xi_204 = xi_164*xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const float xi_207 = xi_133*xi_134*0.25f; + const float xi_210 = xi_99*0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135*(random_0_2 - 0.5f); + const float xi_222 = xi_135*(random_1_0 - 0.5f); + const float xi_228 = xi_163*0.083333333333333329f; + const float xi_229 = xi_162*xi_228; + const float xi_230 = xi_153*0.25f; + const float xi_231 = xi_151*xi_230; + const float xi_235 = xi_203*xi_228; + const float xi_236 = xi_200*xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109*0.014285714285714285f; + const float xi_241 = xi_99*0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109*0.035714285714285712f; + const float xi_251 = xi_135*(random_0_3 - 0.5f); + const float xi_256 = xi_188*xi_230; + const float xi_257 = xi_192*xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0*0.5f; + const float u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_28 = xi_17*0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17*0.083333333333333329f; + const float xi_31 = omega_shear*xi_30 + xi_29; + const float xi_48 = xi_17*xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17*xi_51; + const float xi_59 = u_0*xi_58; + const float xi_64 = u_0*xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear*u_0*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_86 = xi_85*0.25f; + const float xi_89 = xi_62*xi_85; + const float xi_111 = u_0*u_0; + const float u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_26 = xi_18*0.16666666666666666f; + const float xi_36 = omega_shear*u_1*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18*0.083333333333333329f; + const float xi_53 = xi_18*xi_51; + const float xi_60 = u_1*0.25f; + const float xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_65 = u_1*xi_62; + const float xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_110 = rho*(u_1*u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho*u_1; + const float xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_24 = xi_19*0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19*0.083333333333333329f; + const float xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear*u_2*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19*xi_51; + const float xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19*xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2*xi_58; + const float xi_80 = u_2*xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_88 = xi_87*0.25f; + const float xi_90 = xi_62*xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho*(u_2*u_2); + const float xi_114 = xi_112 + xi_113*0.66666666666666663f + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_115 = rho*xi_111*1.6666666666666667f + xi_110*0.66666666666666663f + xi_114 - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_116 = omega_even*xi_115; + const float xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk*xi_119; + const float xi_122 = xi_110*2.3333333333333335f + xi_114 + xi_121 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_123 = omega_even*xi_122; + const float xi_127 = xi_112 + xi_113*3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_128 = omega_even*xi_127; + const float xi_130 = xi_128*0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const float xi_143 = xi_142*0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116*0.050000000000000003f; + const float xi_170 = rho*xi_111*2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_171 = omega_shear*xi_170; + const float xi_172 = xi_171*0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123*0.035714285714285712f; + const float xi_196 = xi_123*0.021428571428571429f; + const float xi_208 = xi_142*0.0625f; + const float xi_209 = xi_128*0.013888888888888888f; + const float xi_211 = xi_106*0.083333333333333329f + xi_120*0.041666666666666664f; + const float xi_212 = xi_171*0.020833333333333332f + xi_175*0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123*0.0071428571428571426f; + const float xi_240 = xi_128*0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102*0.050000000000000003f + xi_116*0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk*xi_119*-0.041666666666666664f + omega_even*xi_115*-0.025000000000000001f + xi_100*xi_101*xi_96*-0.050000000000000003f + xi_103*xi_104*xi_105*-0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123*0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001f - xi_106 + xi_109*0.085714285714285715f + xi_116*0.10000000000000001f + xi_120*-0.5f + xi_123*0.042857142857142858f + xi_128*0.023809523809523808f + xi_99*0.14285714285714285f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285f + xi_107*xi_108*xi_96*0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + v_s)*0.16666666666666666f): (0.0f)); + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571f + xi_123*0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + v_s)*0.16666666666666666f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329f + xi_175*0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329f - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233f; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + u_1*3.0f - v_s + 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + ((grid_size <= ((float)(ctr_1))) ? (rho*v_s*(u_0*-2.0f + u_1*-3.0f - v_s - 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + u_1*3.0f - v_s - 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + ((1.0f >= ((float)(ctr_1))) ? (rho*v_s*(u_0*2.0f + u_1*-3.0f - v_s + 1.0f)*0.083333333333333329f): (0.0f)) + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } +} } -} // namespace internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda -void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::run(IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; +void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::run(IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_0 = this->block_offset_0_; - auto &kT = this->kT_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &grid_size = this->grid_size_; - auto &seed = this->seed_; - auto &time_step = this->time_step_; - auto &v_s = this->v_s_; - auto &omega_shear = this->omega_shear_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); + auto & grid_size = this->grid_size_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_even = this->omega_even_; + auto & omega_odd = this->omega_odd_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_bulk = this->omega_bulk_; + auto & v_s = this->v_s_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); + } -void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; +void StreamCollideSweepLeesEdwardsSinglePrecisionCUDA::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_0 = this->block_offset_0_; - auto &kT = this->kT_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &grid_size = this->grid_size_; - auto &seed = this->seed_; - auto &time_step = this->time_step_; - auto &v_s = this->v_s_; - auto &omega_shear = this->omega_shear_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); - pdfs->swapDataPointers(pdfs_tmp); + auto & grid_size = this->grid_size_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_even = this->omega_even_; + auto & omega_odd = this->omega_odd_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_bulk = this->omega_bulk_; + auto & v_s = this->v_s_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda::streamcollidesweepleesedwardssingleprecisioncuda_streamcollidesweepleesedwardssingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, grid_size, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step, v_s); + pdfs->swapDataPointers(pdfs_tmp); + } + + } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp index 89d5817e66..28d9cc081c 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecision.cpp @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepThermalizedDoublePrecision.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepThermalizedDoublePrecision.h" + #include "philox_rand.h" + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,523 +51,543 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_fa53b6994358d65dbc792fd71884c2e7 { -static FUNC_PREFIX void streamcollidesweepthermalizeddoubleprecision_streamcollidesweepthermalizeddoubleprecision(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step) { +static FUNC_PREFIX void streamcollidesweepthermalizeddoubleprecision_streamcollidesweepthermalizeddoubleprecision(double * RESTRICT const _data_force, double * RESTRICT const _data_pdfs, double * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const double xi_20 = omega_bulk * 0.5; - const double xi_47 = omega_shear * 0.041666666666666664; - const double xi_51 = omega_bulk * 0.041666666666666664; - const double xi_62 = omega_shear * 0.125; - const double xi_97 = 3.7416573867739413; - const double xi_100 = 5.4772255750516612; - const double xi_104 = 2.4494897427831779; - const double xi_107 = 8.3666002653407556; - const double xi_150 = omega_odd * 0.25; - const double xi_160 = omega_odd * 0.083333333333333329; - const double xi_173 = 1.7320508075688772; - const double xi_217 = omega_shear * 0.25; - const double xi_223 = omega_odd * 0.041666666666666664; - const double xi_226 = omega_odd * 0.125; - const double rr_0 = 0.0; - const double xi_45 = rr_0 * 0.041666666666666664; + { + const double xi_20 = omega_bulk*0.5; + const double xi_47 = omega_shear*0.041666666666666664; + const double xi_51 = omega_bulk*0.041666666666666664; + const double xi_62 = omega_shear*0.125; + const double xi_97 = 3.7416573867739413; + const double xi_100 = 5.4772255750516612; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_150 = omega_odd*0.25; + const double xi_160 = omega_odd*0.083333333333333329; + const double xi_173 = 1.7320508075688772; + const double xi_217 = omega_shear*0.25; + const double xi_223 = omega_odd*0.041666666666666664; + const double xi_226 = omega_odd*0.125; + const double rr_0 = 0.0; + const double xi_45 = rr_0*0.041666666666666664; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - - double random_7_0{}; - double random_7_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const double xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const double xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_21 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_22 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_33 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_34 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_39 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_40 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_58 = 0.25*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_98 = random_6_0 - 0.5; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_124 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_125 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_126 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_157 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_158 = -2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_161 = xi_159*xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_191 = xi_160*xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160*xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_224 = xi_159*xi_223; + const double xi_227 = xi_149*xi_226; + const double xi_233 = xi_201*xi_223; + const double xi_234 = xi_199*xi_226; + const double xi_254 = xi_187*xi_226; + const double xi_255 = xi_190*xi_223; + const double xi_23 = rr_0*xi_22; + const double xi_35 = rr_0*xi_34; + const double xi_41 = rr_0*xi_40; + const double xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double rho = delta_rho + 1.0; + const double xi_95 = kT*rho; + const double xi_96 = pow(xi_95*(1.0 - ((-omega_even + 1.0)*(-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96*xi_97*xi_98; + const double xi_102 = xi_100*xi_101*xi_96; + const double xi_105 = pow(xi_95*(1.0 - ((-omega_bulk + 1.0)*(-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103*xi_104*xi_105; + const double xi_109 = xi_107*xi_108*xi_96; + const double xi_131 = xi_99*0.11904761904761904; + const double xi_134 = pow(xi_95*(1.0 - ((-omega_shear + 1.0)*(-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134*0.5; + const double xi_136 = xi_133*xi_135; + const double xi_152 = pow(xi_95*(1.0 - ((-omega_odd + 1.0)*(-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152*1.4142135623730951; + const double xi_154 = xi_153*0.5; + const double xi_163 = xi_104*xi_152; + const double xi_164 = xi_163*0.16666666666666666; + const double xi_165 = xi_162*xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const double xi_169 = xi_102*0.10000000000000001; + const double xi_175 = xi_134*xi_173*xi_174; + const double xi_176 = xi_175*0.16666666666666666; + const double xi_184 = xi_109*0.071428571428571425; + const double xi_193 = xi_164*xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const double xi_197 = xi_109*0.042857142857142858; + const double xi_204 = xi_164*xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const double xi_207 = xi_133*xi_134*0.25; + const double xi_210 = xi_99*0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135*(random_1_0 - 0.5); + const double xi_222 = xi_135*(random_2_0 - 0.5); + const double xi_228 = xi_163*0.083333333333333329; + const double xi_229 = xi_162*xi_228; + const double xi_230 = xi_153*0.25; + const double xi_231 = xi_151*xi_230; + const double xi_235 = xi_203*xi_228; + const double xi_236 = xi_200*xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109*0.014285714285714285; + const double xi_241 = xi_99*0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109*0.035714285714285712; + const double xi_251 = xi_135*(random_1_1 - 0.5); + const double xi_256 = xi_188*xi_230; + const double xi_257 = xi_192*xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0*0.5; + const double u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_28 = xi_17*0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17*0.083333333333333329; + const double xi_31 = omega_shear*xi_30 + xi_29; + const double xi_48 = xi_17*xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17*xi_51; + const double xi_59 = u_0*xi_58; + const double xi_64 = u_0*xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear*u_0*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_86 = xi_85*0.25; + const double xi_89 = xi_62*xi_85; + const double xi_111 = u_0*u_0; + const double u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_26 = xi_18*0.16666666666666666; + const double xi_36 = omega_shear*u_1*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18*0.083333333333333329; + const double xi_53 = xi_18*xi_51; + const double xi_60 = u_1*0.25; + const double xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_65 = u_1*xi_62; + const double xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_110 = rho*(u_1*u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho*u_1; + const double xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_24 = xi_19*0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19*0.083333333333333329; + const double xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear*u_2*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19*xi_51; + const double xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19*xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2*xi_58; + const double xi_80 = u_2*xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_88 = xi_87*0.25; + const double xi_90 = xi_62*xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho*(u_2*u_2); + const double xi_114 = xi_112 + xi_113*0.66666666666666663 + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_115 = rho*xi_111*1.6666666666666667 + xi_110*0.66666666666666663 + xi_114 - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_116 = omega_even*xi_115; + const double xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk*xi_119; + const double xi_122 = xi_110*2.3333333333333335 + xi_114 + xi_121 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_123 = omega_even*xi_122; + const double xi_127 = xi_112 + xi_113*3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_128 = omega_even*xi_127; + const double xi_130 = xi_128*0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const double xi_143 = xi_142*0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116*0.050000000000000003; + const double xi_170 = rho*xi_111*2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_171 = omega_shear*xi_170; + const double xi_172 = xi_171*0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123*0.035714285714285712; + const double xi_196 = xi_123*0.021428571428571429; + const double xi_208 = xi_142*0.0625; + const double xi_209 = xi_128*0.013888888888888888; + const double xi_211 = xi_106*0.083333333333333329 + xi_120*0.041666666666666664; + const double xi_212 = xi_171*0.020833333333333332 + xi_175*0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123*0.0071428571428571426; + const double xi_240 = xi_128*0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102*0.050000000000000003 + xi_116*0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk*xi_119*-0.041666666666666664 + omega_even*xi_115*-0.025000000000000001 + xi_100*xi_101*xi_96*-0.050000000000000003 + xi_103*xi_104*xi_105*-0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123*0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001 - xi_106 + xi_109*0.085714285714285715 + xi_116*0.10000000000000001 + xi_120*-0.5 + xi_123*0.042857142857142858 + xi_128*0.023809523809523808 + xi_99*0.14285714285714285 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285 + xi_107*xi_108*xi_96*0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571 + xi_123*0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329 + xi_175*0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329 - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } + } + } + } +} +} - double random_6_0{}; - double random_6_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); - } - double random_5_0{}; - double random_5_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } +void StreamCollideSweepThermalizedDoublePrecision::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } + } - double random_4_0{}; - double random_4_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } + auto & block_offset_0 = this->block_offset_0_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_fa53b6994358d65dbc792fd71884c2e7::streamcollidesweepthermalizeddoubleprecision_streamcollidesweepthermalizeddoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); - double random_3_0{}; - double random_3_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } +} - double random_2_0{}; - double random_2_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } - double random_1_0{}; - double random_1_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } +void StreamCollideSweepThermalizedDoublePrecision::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - double random_0_0{}; - double random_0_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const double xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const double xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_58 = 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_98 = random_6_0 - 0.5; - const double xi_101 = random_7_0 - 0.5; - const double xi_103 = random_2_1 - 0.5; - const double xi_108 = random_6_1 - 0.5; - const double xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double xi_118 = xi_11 + xi_3; - const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_133 = random_0_1 - 0.5; - const double xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_151 = random_5_1 - 0.5; - const double xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_161 = xi_159 * xi_160; - const double xi_162 = random_3_0 - 0.5; - const double xi_174 = random_0_0 - 0.5; - const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_186 = xi_138 + xi_185; - const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_188 = random_4_1 - 0.5; - const double xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_191 = xi_160 * xi_190; - const double xi_192 = random_4_0 - 0.5; - const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_200 = random_5_0 - 0.5; - const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const double xi_202 = xi_160 * xi_201; - const double xi_203 = random_3_1 - 0.5; - const double xi_224 = xi_159 * xi_223; - const double xi_227 = xi_149 * xi_226; - const double xi_233 = xi_201 * xi_223; - const double xi_234 = xi_199 * xi_226; - const double xi_254 = xi_187 * xi_226; - const double xi_255 = xi_190 * xi_223; - const double xi_23 = rr_0 * xi_22; - const double xi_35 = rr_0 * xi_34; - const double xi_41 = rr_0 * xi_40; - const double xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double vel1Term = xi_4 + xi_5; - const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double rho = delta_rho + 1.0; - const double xi_95 = kT * rho; - const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); - const double xi_99 = xi_96 * xi_97 * xi_98; - const double xi_102 = xi_100 * xi_101 * xi_96; - const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); - const double xi_106 = xi_103 * xi_104 * xi_105; - const double xi_109 = xi_107 * xi_108 * xi_96; - const double xi_131 = xi_99 * 0.11904761904761904; - const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); - const double xi_135 = xi_134 * 0.5; - const double xi_136 = xi_133 * xi_135; - const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); - const double xi_153 = xi_152 * 1.4142135623730951; - const double xi_154 = xi_153 * 0.5; - const double xi_163 = xi_104 * xi_152; - const double xi_164 = xi_163 * 0.16666666666666666; - const double xi_165 = xi_162 * xi_164; - const double xi_166 = xi_161 + xi_165; - const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const double xi_169 = xi_102 * 0.10000000000000001; - const double xi_175 = xi_134 * xi_173 * xi_174; - const double xi_176 = xi_175 * 0.16666666666666666; - const double xi_184 = xi_109 * 0.071428571428571425; - const double xi_193 = xi_164 * xi_192; - const double xi_194 = xi_191 + xi_193; - const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const double xi_197 = xi_109 * 0.042857142857142858; - const double xi_204 = xi_164 * xi_203; - const double xi_205 = xi_202 + xi_204; - const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const double xi_207 = xi_133 * xi_134 * 0.25; - const double xi_210 = xi_99 * 0.083333333333333329; - const double xi_214 = -xi_191 - xi_193; - const double xi_215 = xi_135 * (random_1_0 - 0.5); - const double xi_222 = xi_135 * (random_2_0 - 0.5); - const double xi_228 = xi_163 * 0.083333333333333329; - const double xi_229 = xi_162 * xi_228; - const double xi_230 = xi_153 * 0.25; - const double xi_231 = xi_151 * xi_230; - const double xi_235 = xi_203 * xi_228; - const double xi_236 = xi_200 * xi_230; - const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const double xi_239 = xi_109 * 0.014285714285714285; - const double xi_241 = xi_99 * 0.023809523809523808; - const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const double xi_246 = -xi_207; - const double xi_249 = xi_109 * 0.035714285714285712; - const double xi_251 = xi_135 * (random_1_1 - 0.5); - const double xi_256 = xi_188 * xi_230; - const double xi_257 = xi_192 * xi_228; - const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const double xi_0 = ((1.0) / (rho)); - const double xi_10 = xi_0 * 0.5; - const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_28 = xi_17 * 0.16666666666666666; - const double xi_29 = -xi_28; - const double xi_30 = xi_17 * 0.083333333333333329; - const double xi_31 = omega_shear * xi_30 + xi_29; - const double xi_48 = xi_17 * xi_47 + xi_29; - const double xi_49 = xi_34 - xi_46 + xi_48; - const double xi_52 = xi_17 * xi_51; - const double xi_59 = u_0 * xi_58; - const double xi_64 = u_0 * xi_63; - const double xi_68 = -xi_34 + xi_46 + xi_48; - const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_86 = xi_85 * 0.25; - const double xi_89 = xi_62 * xi_85; - const double xi_111 = u_0 * u_0; - const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_26 = xi_18 * 0.16666666666666666; - const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_42 = -xi_26; - const double xi_43 = xi_18 * 0.083333333333333329; - const double xi_53 = xi_18 * xi_51; - const double xi_60 = u_1 * 0.25; - const double xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_65 = u_1 * xi_62; - const double xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const double xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_110 = rho * (u_1 * u_1); - const double xi_117 = -xi_110; - const double xi_216 = rho * u_1; - const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const double xi_219 = -xi_215 - xi_218; - const double xi_220 = xi_215 + xi_218; - const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_24 = xi_19 * 0.16666666666666666; - const double xi_25 = -xi_24; - const double xi_27 = xi_19 * 0.083333333333333329; - const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; - const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; - const double xi_54 = xi_19 * xi_51; - const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const double xi_56 = -xi_22 + xi_50 + xi_55; - const double xi_57 = xi_27 + xi_37 + xi_56; - const double xi_70 = xi_22 - xi_50 + xi_55; - const double xi_71 = xi_27 + xi_37 + xi_70; - const double xi_73 = xi_19 * xi_47 + xi_25; - const double xi_74 = -xi_40 + xi_72 + xi_73; - const double xi_76 = xi_30 + xi_56 + xi_75; - const double xi_78 = u_2 * xi_58; - const double xi_80 = u_2 * xi_63; - const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const double xi_82 = xi_30 + xi_70 + xi_75; - const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const double xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_88 = xi_87 * 0.25; - const double xi_90 = xi_62 * xi_87; - const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const double xi_93 = xi_40 - xi_72 + xi_73; - const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const double xi_113 = rho * (u_2 * u_2); - const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_116 = omega_even * xi_115; - const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const double xi_120 = omega_bulk * xi_119; - const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_123 = omega_even * xi_122; - const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_128 = omega_even * xi_127; - const double xi_130 = xi_128 * 0.01984126984126984; - const double xi_132 = xi_130 + xi_131; - const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const double xi_143 = xi_142 * 0.125; - const double xi_144 = -xi_136 - xi_143; - const double xi_168 = xi_116 * 0.050000000000000003; - const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_171 = omega_shear * xi_170; - const double xi_172 = xi_171 * 0.041666666666666664; - const double xi_177 = xi_172 + xi_176; - const double xi_178 = xi_168 + xi_169 + xi_177; - const double xi_179 = -xi_130 - xi_131; - const double xi_180 = xi_136 + xi_143; - const double xi_181 = -xi_172 - xi_176; - const double xi_182 = -xi_168 - xi_169 + xi_181; - const double xi_183 = xi_123 * 0.035714285714285712; - const double xi_196 = xi_123 * 0.021428571428571429; - const double xi_208 = xi_142 * 0.0625; - const double xi_209 = xi_128 * 0.013888888888888888; - const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; - const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; - const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const double xi_238 = xi_123 * 0.0071428571428571426; - const double xi_240 = xi_128 * 0.003968253968253968; - const double xi_242 = -xi_240 - xi_241; - const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const double xi_247 = -xi_208; - const double xi_248 = xi_123 * 0.017857142857142856; - const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const double xi_253 = -xi_251 - xi_252; - const double xi_259 = xi_251 + xi_252; - const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const double forceTerm_1 = xi_21 - xi_23 + xi_32; - const double forceTerm_2 = -xi_21 + xi_23 + xi_32; - const double forceTerm_3 = -xi_33 + xi_35 - xi_38; - const double forceTerm_4 = xi_33 - xi_35 - xi_38; - const double forceTerm_5 = xi_39 - xi_41 + xi_44; - const double forceTerm_6 = -xi_39 + xi_41 + xi_44; - const double forceTerm_7 = -xi_49 - xi_57 - xi_67; - const double forceTerm_8 = -xi_57 - xi_68 - xi_69; - const double forceTerm_9 = -xi_49 - xi_69 - xi_71; - const double forceTerm_10 = -xi_67 - xi_68 - xi_71; - const double forceTerm_11 = -xi_74 - xi_76 - xi_81; - const double forceTerm_12 = -xi_74 - xi_82 - xi_83; - const double forceTerm_13 = -xi_49 - xi_84 - xi_91; - const double forceTerm_14 = -xi_68 - xi_84 - xi_92; - const double forceTerm_15 = -xi_76 - xi_83 - xi_93; - const double forceTerm_16 = -xi_81 - xi_82 - xi_93; - const double forceTerm_17 = -xi_49 - xi_92 - xi_94; - const double forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; } - } } - } -} -} // namespace internal_fa53b6994358d65dbc792fd71884c2e7 - -void StreamCollideSweepThermalizedDoublePrecision::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } + auto & block_offset_0 = this->block_offset_0_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_fa53b6994358d65dbc792fd71884c2e7::streamcollidesweepthermalizeddoubleprecision_streamcollidesweepthermalizeddoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &block_offset_0 = this->block_offset_0_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_fa53b6994358d65dbc792fd71884c2e7::streamcollidesweepthermalizeddoubleprecision_streamcollidesweepthermalizeddoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); } -void StreamCollideSweepThermalizedDoublePrecision::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; - - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &block_offset_0 = this->block_offset_0_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_fa53b6994358d65dbc792fd71884c2e7::streamcollidesweepthermalizeddoubleprecision_streamcollidesweepthermalizeddoubleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); -} } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp index 4cf95e80b8..64d93ab927 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionAVX.cpp @@ -19,29 +19,33 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepThermalizedDoublePrecisionAVX.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepThermalizedDoublePrecisionAVX.h" + #include #include "philox_rand.h" + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -49,874 +53,895 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_b312c2da0affb0ff73dd81300a784e62 { -static FUNC_PREFIX void streamcollidesweepthermalizeddoubleprecisionavx_streamcollidesweepthermalizeddoubleprecisionavx(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step) { +static FUNC_PREFIX void streamcollidesweepthermalizeddoubleprecisionavx_streamcollidesweepthermalizeddoubleprecisionavx(double * RESTRICT const _data_force, double * RESTRICT const _data_pdfs, double * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const double xi_20 = omega_bulk * 0.5; - const double xi_47 = omega_shear * 0.041666666666666664; - const double xi_51 = omega_bulk * 0.041666666666666664; - const double xi_62 = omega_shear * 0.125; - const double xi_97 = 3.7416573867739413; - const double xi_100 = 5.4772255750516612; - const double xi_104 = 2.4494897427831779; - const double xi_107 = 8.3666002653407556; - const double xi_150 = omega_odd * 0.25; - const double xi_160 = omega_odd * 0.083333333333333329; - const double xi_173 = 1.7320508075688772; - const double xi_217 = omega_shear * 0.25; - const double xi_223 = omega_odd * 0.041666666666666664; - const double xi_226 = omega_odd * 0.125; - const double rr_0 = 0.0; - const double xi_45 = rr_0 * 0.041666666666666664; + { + const double xi_20 = omega_bulk*0.5; + const double xi_47 = omega_shear*0.041666666666666664; + const double xi_51 = omega_bulk*0.041666666666666664; + const double xi_62 = omega_shear*0.125; + const double xi_97 = 3.7416573867739413; + const double xi_100 = 5.4772255750516612; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_150 = omega_odd*0.25; + const double xi_160 = omega_odd*0.083333333333333329; + const double xi_173 = 1.7320508075688772; + const double xi_217 = omega_shear*0.25; + const double xi_223 = omega_odd*0.041666666666666664; + const double xi_226 = omega_odd*0.125; + const double rr_0 = 0.0; + const double xi_45 = rr_0*0.041666666666666664; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - { - for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 += 4) { - - __m256d random_7_0{}; - __m256d random_7_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } - - __m256d random_6_0{}; - __m256d random_6_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); - } - - __m256d random_5_0{}; - __m256d random_5_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } - - __m256d random_4_0{}; - __m256d random_4_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } - - __m256d random_3_0{}; - __m256d random_3_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } - - __m256d random_2_0{}; - __m256d random_2_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } - - __m256d random_1_0{}; - __m256d random_1_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } - - __m256d random_0_0{}; - __m256d random_0_1{}; - if (kT > 0.) { - philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const __m256d xi_2 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_3 = _mm256_add_pd(_mm256_add_pd(xi_2, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_4 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_5 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_6 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_7 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_8 = _mm256_add_pd(xi_7, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_9 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_11 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_12 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_13 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_14 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_15 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_16 = _mm256_add_pd(_mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_21 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_22 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_33 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_34 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_39 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_40 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_58 = _mm256_mul_pd(_mm256_set_pd(0.25, 0.25, 0.25, 0.25), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_63 = _mm256_mul_pd(_mm256_set_pd(xi_62, xi_62, xi_62, xi_62), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_98 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_0); - const __m256d xi_101 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_7_0); - const __m256d xi_103 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_1); - const __m256d xi_108 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_1); - const __m256d xi_112 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])); - const __m256d xi_118 = _mm256_add_pd(xi_11, xi_3); - const __m256d xi_121 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256d xi_124 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_125 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_126 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256d xi_129 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256d xi_133 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_1); - const __m256d xi_137 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_138 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_139 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_140 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_145 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_146 = _mm256_add_pd(xi_14, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_147 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_148 = _mm256_add_pd(xi_147, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256d xi_149 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_145, xi_146), xi_148), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_151 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_1); - const __m256d xi_155 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_156 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_157 = _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_158 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - const __m256d xi_159 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(xi_157, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_148), xi_155), xi_156), xi_158), xi_5); - const __m256d xi_161 = _mm256_mul_pd(xi_159, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); - const __m256d xi_162 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_0); - const __m256d xi_174 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_0); - const __m256d xi_185 = _mm256_add_pd(xi_15, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_186 = _mm256_add_pd(xi_138, xi_185); - const __m256d xi_187 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), xi_186), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_188 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_1); - const __m256d xi_189 = _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d xi_190 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(xi_157, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_158, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_186, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_189, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_7, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_191 = _mm256_mul_pd(xi_190, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); - const __m256d xi_192 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_0); - const __m256d xi_198 = _mm256_add_pd(_mm256_add_pd(xi_145, xi_155), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256d xi_199 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_198, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); - const __m256d xi_200 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_0); - const __m256d xi_201 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_124, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_125, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_126), xi_140), xi_198), xi_6); - const __m256d xi_202 = _mm256_mul_pd(xi_201, _mm256_set_pd(xi_160, xi_160, xi_160, xi_160)); - const __m256d xi_203 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_1); - const __m256d xi_224 = _mm256_mul_pd(xi_159, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); - const __m256d xi_227 = _mm256_mul_pd(xi_149, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); - const __m256d xi_233 = _mm256_mul_pd(xi_201, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); - const __m256d xi_234 = _mm256_mul_pd(xi_199, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); - const __m256d xi_254 = _mm256_mul_pd(xi_187, _mm256_set_pd(xi_226, xi_226, xi_226, xi_226)); - const __m256d xi_255 = _mm256_mul_pd(xi_190, _mm256_set_pd(xi_223, xi_223, xi_223, xi_223)); - const __m256d xi_23 = _mm256_mul_pd(xi_22, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); - const __m256d xi_35 = _mm256_mul_pd(xi_34, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); - const __m256d xi_41 = _mm256_mul_pd(xi_40, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0)); - const __m256d xi_46 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_50 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_72 = _mm256_mul_pd(_mm256_set_pd(xi_45, xi_45, xi_45, xi_45), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d vel0Term = _mm256_add_pd(xi_3, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256d vel1Term = _mm256_add_pd(xi_4, xi_5); - const __m256d vel2Term = _mm256_add_pd(xi_6, _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d delta_rho = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel0Term, vel1Term), vel2Term), xi_8), xi_9), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256d rho = _mm256_add_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), delta_rho); - const __m256d xi_95 = _mm256_mul_pd(rho, _mm256_set_pd(kT, kT, kT, kT)); - const __m256d xi_96 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_99 = _mm256_mul_pd(_mm256_mul_pd(xi_96, xi_98), _mm256_set_pd(xi_97, xi_97, xi_97, xi_97)); - const __m256d xi_102 = _mm256_mul_pd(_mm256_mul_pd(xi_101, xi_96), _mm256_set_pd(xi_100, xi_100, xi_100, xi_100)); - const __m256d xi_105 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_106 = _mm256_mul_pd(_mm256_mul_pd(xi_103, xi_105), _mm256_set_pd(xi_104, xi_104, xi_104, xi_104)); - const __m256d xi_109 = _mm256_mul_pd(_mm256_mul_pd(xi_108, xi_96), _mm256_set_pd(xi_107, xi_107, xi_107, xi_107)); - const __m256d xi_131 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.11904761904761904, 0.11904761904761904, 0.11904761904761904, 0.11904761904761904)); - const __m256d xi_134 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_135 = _mm256_mul_pd(xi_134, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); - const __m256d xi_136 = _mm256_mul_pd(xi_133, xi_135); - const __m256d xi_152 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95, _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)), _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_set_pd(omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))), _mm256_set_pd(1.0, 1.0, 1.0, 1.0)))); - const __m256d xi_153 = _mm256_mul_pd(xi_152, _mm256_set_pd(1.4142135623730951, 1.4142135623730951, 1.4142135623730951, 1.4142135623730951)); - const __m256d xi_154 = _mm256_mul_pd(xi_153, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); - const __m256d xi_163 = _mm256_mul_pd(xi_152, _mm256_set_pd(xi_104, xi_104, xi_104, xi_104)); - const __m256d xi_164 = _mm256_mul_pd(xi_163, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_165 = _mm256_mul_pd(xi_162, xi_164); - const __m256d xi_166 = _mm256_add_pd(xi_161, xi_165); - const __m256d xi_167 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_149, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_151, xi_154)), xi_166); - const __m256d xi_169 = _mm256_mul_pd(xi_102, _mm256_set_pd(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001)); - const __m256d xi_175 = _mm256_mul_pd(_mm256_mul_pd(xi_134, xi_174), _mm256_set_pd(xi_173, xi_173, xi_173, xi_173)); - const __m256d xi_176 = _mm256_mul_pd(xi_175, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_184 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.071428571428571425, 0.071428571428571425, 0.071428571428571425, 0.071428571428571425)); - const __m256d xi_193 = _mm256_mul_pd(xi_164, xi_192); - const __m256d xi_194 = _mm256_add_pd(xi_191, xi_193); - const __m256d xi_195 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_187, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_154, xi_188)), xi_194); - const __m256d xi_197 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.042857142857142858, 0.042857142857142858, 0.042857142857142858, 0.042857142857142858)); - const __m256d xi_204 = _mm256_mul_pd(xi_164, xi_203); - const __m256d xi_205 = _mm256_add_pd(xi_202, xi_204); - const __m256d xi_206 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_199, _mm256_set_pd(xi_150, xi_150, xi_150, xi_150)), _mm256_mul_pd(xi_154, xi_200)), xi_205); - const __m256d xi_207 = _mm256_mul_pd(_mm256_mul_pd(xi_133, xi_134), _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_210 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_214 = _mm256_add_pd(_mm256_mul_pd(xi_191, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_193, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_215 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_0)); - const __m256d xi_222 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_0)); - const __m256d xi_228 = _mm256_mul_pd(xi_163, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_229 = _mm256_mul_pd(xi_162, xi_228); - const __m256d xi_230 = _mm256_mul_pd(xi_153, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_231 = _mm256_mul_pd(xi_151, xi_230); - const __m256d xi_235 = _mm256_mul_pd(xi_203, xi_228); - const __m256d xi_236 = _mm256_mul_pd(xi_200, xi_230); - const __m256d xi_237 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_233, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_235, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_234), xi_236); - const __m256d xi_239 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)); - const __m256d xi_241 = _mm256_mul_pd(xi_99, _mm256_set_pd(0.023809523809523808, 0.023809523809523808, 0.023809523809523808, 0.023809523809523808)); - const __m256d xi_244 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_234, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_236, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_233), xi_235); - const __m256d xi_246 = _mm256_mul_pd(xi_207, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_249 = _mm256_mul_pd(xi_109, _mm256_set_pd(0.035714285714285712, 0.035714285714285712, 0.035714285714285712, 0.035714285714285712)); - const __m256d xi_251 = _mm256_mul_pd(xi_135, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_1)); - const __m256d xi_256 = _mm256_mul_pd(xi_188, xi_230); - const __m256d xi_257 = _mm256_mul_pd(xi_192, xi_228); - const __m256d xi_258 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_254, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_256, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_255), xi_257); - const __m256d xi_260 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_255, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_257, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_254), xi_256); - const __m256d xi_0 = _mm256_div_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), rho); - const __m256d xi_10 = _mm256_mul_pd(xi_0, _mm256_set_pd(0.5, 0.5, 0.5, 0.5)); - const __m256d u_0 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_11, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_8, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), vel0Term)), _mm256_mul_pd(xi_10, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256d xi_17 = _mm256_mul_pd(u_0, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_28 = _mm256_mul_pd(xi_17, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_29 = _mm256_mul_pd(xi_28, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_30 = _mm256_mul_pd(xi_17, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_31 = _mm256_add_pd(_mm256_mul_pd(xi_30, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), xi_29); - const __m256d xi_48 = _mm256_add_pd(_mm256_mul_pd(xi_17, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_29); - const __m256d xi_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_46, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_34), xi_48); - const __m256d xi_52 = _mm256_mul_pd(xi_17, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); - const __m256d xi_59 = _mm256_mul_pd(u_0, xi_58); - const __m256d xi_64 = _mm256_mul_pd(u_0, xi_63); - const __m256d xi_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_34, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_46), xi_48); - const __m256d xi_75 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_85 = _mm256_mul_pd(u_0, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_86 = _mm256_mul_pd(xi_85, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_89 = _mm256_mul_pd(xi_85, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); - const __m256d xi_111 = _mm256_mul_pd(u_0, u_0); - const __m256d u_1 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_12, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_13, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_9, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), vel1Term)), _mm256_mul_pd(xi_10, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256d xi_18 = _mm256_mul_pd(u_1, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_26 = _mm256_mul_pd(xi_18, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_36 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256d xi_42 = _mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_43 = _mm256_mul_pd(xi_18, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_53 = _mm256_mul_pd(xi_18, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); - const __m256d xi_60 = _mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_61 = _mm256_mul_pd(xi_60, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_65 = _mm256_mul_pd(u_1, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); - const __m256d xi_66 = _mm256_mul_pd(xi_65, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_67 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_64, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_66, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_59), xi_61); - const __m256d xi_69 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_59, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_61, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_64), xi_66); - const __m256d xi_77 = _mm256_mul_pd(xi_60, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_79 = _mm256_mul_pd(xi_65, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_110 = _mm256_mul_pd(rho, _mm256_mul_pd(u_1, u_1)); - const __m256d xi_117 = _mm256_mul_pd(xi_110, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_216 = _mm256_mul_pd(rho, u_1); - const __m256d xi_218 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_pd(u_0, xi_216)), xi_12), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); - const __m256d xi_219 = _mm256_add_pd(_mm256_mul_pd(xi_215, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_218, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_220 = _mm256_add_pd(xi_215, xi_218); - const __m256d u_2 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_14, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_15, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_16, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), vel2Term)), _mm256_mul_pd(xi_10, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256d xi_19 = _mm256_mul_pd(u_2, _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_24 = _mm256_mul_pd(xi_19, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666)); - const __m256d xi_25 = _mm256_mul_pd(xi_24, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_27 = _mm256_mul_pd(xi_19, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)); - const __m256d xi_32 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(xi_27, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_25), xi_31); - const __m256d xi_37 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2, _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256d xi_38 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_28, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_mul_pd(_mm256_mul_pd(u_0, _mm256_set_pd(-0.33333333333333331, -0.33333333333333331, -0.33333333333333331, -0.33333333333333331)), _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), xi_24), xi_26), xi_36), xi_37); - const __m256d xi_44 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_19, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(xi_43, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(xi_24, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_31), xi_42); - const __m256d xi_54 = _mm256_mul_pd(xi_19, _mm256_set_pd(xi_51, xi_51, xi_51, xi_51)); - const __m256d xi_55 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_42), xi_52), xi_53), xi_54); - const __m256d xi_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_22, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_50), xi_55); - const __m256d xi_57 = _mm256_add_pd(_mm256_add_pd(xi_27, xi_37), xi_56); - const __m256d xi_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_50, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_22), xi_55); - const __m256d xi_71 = _mm256_add_pd(_mm256_add_pd(xi_27, xi_37), xi_70); - const __m256d xi_73 = _mm256_add_pd(_mm256_mul_pd(xi_19, _mm256_set_pd(xi_47, xi_47, xi_47, xi_47)), xi_25); - const __m256d xi_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_40, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_72), xi_73); - const __m256d xi_76 = _mm256_add_pd(_mm256_add_pd(xi_30, xi_56), xi_75); - const __m256d xi_78 = _mm256_mul_pd(u_2, xi_58); - const __m256d xi_80 = _mm256_mul_pd(u_2, xi_63); - const __m256d xi_81 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_77, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_78, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_79), xi_80); - const __m256d xi_82 = _mm256_add_pd(_mm256_add_pd(xi_30, xi_70), xi_75); - const __m256d xi_83 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_79, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_80, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_77), xi_78); - const __m256d xi_84 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36, xi_43), xi_52), xi_53), xi_54), xi_74); - const __m256d xi_87 = _mm256_mul_pd(u_2, _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256d xi_88 = _mm256_mul_pd(xi_87, _mm256_set_pd(0.25, 0.25, 0.25, 0.25)); - const __m256d xi_90 = _mm256_mul_pd(xi_87, _mm256_set_pd(xi_62, xi_62, xi_62, xi_62)); - const __m256d xi_91 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_89, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_90, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_86), xi_88); - const __m256d xi_92 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_86, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_88, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_89), xi_90); - const __m256d xi_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_72, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_40), xi_73); - const __m256d xi_94 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36, xi_43), xi_52), xi_53), xi_54), xi_93); - const __m256d xi_113 = _mm256_mul_pd(rho, _mm256_mul_pd(u_2, u_2)); - const __m256d xi_114 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_113, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), xi_112); - const __m256d xi_115 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(3.0, 3.0, 3.0, 3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_110, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-3.0, -3.0, -3.0, -3.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_mul_pd(rho, xi_111), _mm256_set_pd(1.6666666666666667, 1.6666666666666667, 1.6666666666666667, 1.6666666666666667))), xi_114); - const __m256d xi_116 = _mm256_mul_pd(xi_115, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); - const __m256d xi_119 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_112, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_117, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_118, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_13, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_16, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_5, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(rho, xi_111)), xi_113); - const __m256d xi_120 = _mm256_mul_pd(xi_119, _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk)); - const __m256d xi_122 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_110, _mm256_set_pd(2.3333333333333335, 2.3333333333333335, 2.3333333333333335, 2.3333333333333335)), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-5.0, -5.0, -5.0, -5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), xi_114), xi_121); - const __m256d xi_123 = _mm256_mul_pd(xi_122, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); - const __m256d xi_127 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_113, _mm256_set_pd(3.0, 3.0, 3.0, 3.0)), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(5.0, 5.0, 5.0, 5.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-4.0, -4.0, -4.0, -4.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-4.0, -4.0, -4.0, -4.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_set_pd(-7.0, -7.0, -7.0, -7.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), xi_112), xi_121), xi_124), xi_125), xi_126); - const __m256d xi_128 = _mm256_mul_pd(xi_127, _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)); - const __m256d xi_130 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.01984126984126984, 0.01984126984126984, 0.01984126984126984, 0.01984126984126984)); - const __m256d xi_132 = _mm256_add_pd(xi_130, xi_131); - const __m256d xi_141 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_113, xi_139), xi_140), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256d xi_142 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_117, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_137, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_138, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_141, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_15, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_2, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_4, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256d xi_143 = _mm256_mul_pd(xi_142, _mm256_set_pd(0.125, 0.125, 0.125, 0.125)); - const __m256d xi_144 = _mm256_add_pd(_mm256_mul_pd(xi_136, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_143, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_168 = _mm256_mul_pd(xi_116, _mm256_set_pd(0.050000000000000003, 0.050000000000000003, 0.050000000000000003, 0.050000000000000003)); - const __m256d xi_170 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(_mm256_set_pd(2.0, 2.0, 2.0, 2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_pd(xi_110, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_118, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_129, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_141, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_147, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_set_pd(-1.0, -1.0, -1.0, -1.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_pd(_mm256_set_pd(-2.0, -2.0, -2.0, -2.0), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_pd(_mm256_mul_pd(rho, xi_111), _mm256_set_pd(2.0, 2.0, 2.0, 2.0))); - const __m256d xi_171 = _mm256_mul_pd(xi_170, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256d xi_172 = _mm256_mul_pd(xi_171, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)); - const __m256d xi_177 = _mm256_add_pd(xi_172, xi_176); - const __m256d xi_178 = _mm256_add_pd(_mm256_add_pd(xi_168, xi_169), xi_177); - const __m256d xi_179 = _mm256_add_pd(_mm256_mul_pd(xi_130, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_131, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_180 = _mm256_add_pd(xi_136, xi_143); - const __m256d xi_181 = _mm256_add_pd(_mm256_mul_pd(xi_172, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_176, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_182 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_168, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_169, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_181); - const __m256d xi_183 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.035714285714285712, 0.035714285714285712, 0.035714285714285712, 0.035714285714285712)); - const __m256d xi_196 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.021428571428571429, 0.021428571428571429, 0.021428571428571429, 0.021428571428571429)); - const __m256d xi_208 = _mm256_mul_pd(xi_142, _mm256_set_pd(0.0625, 0.0625, 0.0625, 0.0625)); - const __m256d xi_209 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.013888888888888888, 0.013888888888888888, 0.013888888888888888, 0.013888888888888888)); - const __m256d xi_211 = _mm256_add_pd(_mm256_mul_pd(xi_120, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(xi_106, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))); - const __m256d xi_212 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171, _mm256_set_pd(0.020833333333333332, 0.020833333333333332, 0.020833333333333332, 0.020833333333333332)), _mm256_mul_pd(xi_175, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), xi_211); - const __m256d xi_213 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_166, xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256d xi_221 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_161, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_165, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256d xi_225 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(u_2, xi_216), xi_146), xi_155), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); - const __m256d xi_232 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_224, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_229, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_222), xi_225), xi_227), xi_231); - const __m256d xi_238 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.0071428571428571426, 0.0071428571428571426, 0.0071428571428571426, 0.0071428571428571426)); - const __m256d xi_240 = _mm256_mul_pd(xi_128, _mm256_set_pd(0.003968253968253968, 0.003968253968253968, 0.003968253968253968, 0.003968253968253968)); - const __m256d xi_242 = _mm256_add_pd(_mm256_mul_pd(xi_240, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_241, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_243 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_116, _mm256_set_pd(0.025000000000000001, 0.025000000000000001, 0.025000000000000001, 0.025000000000000001)), _mm256_mul_pd(xi_102, _mm256_set_pd(0.050000000000000003, 0.050000000000000003, 0.050000000000000003, 0.050000000000000003))), _mm256_mul_pd(xi_238, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_239, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_181), xi_211), xi_242); - const __m256d xi_245 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_115, _mm256_set_pd(-0.025000000000000001, -0.025000000000000001, -0.025000000000000001, -0.025000000000000001)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even)), _mm256_mul_pd(_mm256_mul_pd(xi_119, _mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664)), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_101, xi_96), _mm256_set_pd(-0.050000000000000003, -0.050000000000000003, -0.050000000000000003, -0.050000000000000003)), _mm256_set_pd(xi_100, xi_100, xi_100, xi_100))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_103, xi_105), _mm256_set_pd(-0.083333333333333329, -0.083333333333333329, -0.083333333333333329, -0.083333333333333329)), _mm256_set_pd(xi_104, xi_104, xi_104, xi_104))), xi_177), xi_238), xi_239), xi_240), xi_241); - const __m256d xi_247 = _mm256_mul_pd(xi_208, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)); - const __m256d xi_248 = _mm256_mul_pd(xi_123, _mm256_set_pd(0.017857142857142856, 0.017857142857142856, 0.017857142857142856, 0.017857142857142856)); - const __m256d xi_250 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_205, xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256d xi_252 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(rho, u_0), u_2), xi_137), xi_185), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_set_pd(xi_217, xi_217, xi_217, xi_217)); - const __m256d xi_253 = _mm256_add_pd(_mm256_mul_pd(xi_251, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_252, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d xi_259 = _mm256_add_pd(xi_251, xi_252); - const __m256d xi_261 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_227, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_231, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_222), xi_224), xi_225), xi_229); - const __m256d xi_262 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_202, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_204, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256d forceTerm_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_17, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_18, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_19, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_17, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))), _mm256_mul_pd(xi_18, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))), _mm256_mul_pd(xi_19, _mm256_set_pd(xi_20, xi_20, xi_20, xi_20))); - const __m256d forceTerm_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_23, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_21), xi_32); - const __m256d forceTerm_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_21, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_23), xi_32); - const __m256d forceTerm_3 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_33, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_38, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_35); - const __m256d forceTerm_4 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_35, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_38, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_33); - const __m256d forceTerm_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_41, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_39), xi_44); - const __m256d forceTerm_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_39, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_41), xi_44); - const __m256d forceTerm_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_57, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_67, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_57, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_69, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_9 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_69, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_71, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_10 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_67, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_71, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_11 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_76, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_81, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_12 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_82, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_83, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_13 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_84, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_91, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_14 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_84, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_92, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_76, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_83, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_93, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_81, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_82, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_93, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_17 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_92, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_94, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - const __m256d forceTerm_18 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_91, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_94, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128, _mm256_set_pd(0.023809523809523808, 0.023809523809523808, 0.023809523809523808, 0.023809523809523808)), _mm256_mul_pd(xi_99, _mm256_set_pd(0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285))), _mm256_mul_pd(xi_123, _mm256_set_pd(0.042857142857142858, 0.042857142857142858, 0.042857142857142858, 0.042857142857142858))), _mm256_mul_pd(xi_109, _mm256_set_pd(0.085714285714285715, 0.085714285714285715, 0.085714285714285715, 0.085714285714285715))), _mm256_mul_pd(xi_116, _mm256_set_pd(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001))), _mm256_mul_pd(xi_102, _mm256_set_pd(0.20000000000000001, 0.20000000000000001, 0.20000000000000001, 0.20000000000000001))), _mm256_mul_pd(xi_120, _mm256_set_pd(-0.5, -0.5, -0.5, -0.5))), _mm256_mul_pd(xi_106, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_0), _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_129, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_132, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_144, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_167, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_178, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_122, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_108, xi_96), _mm256_set_pd(0.028571428571428571, 0.028571428571428571, 0.028571428571428571, 0.028571428571428571)), _mm256_set_pd(xi_107, xi_107, xi_107, xi_107))), forceTerm_1)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_123, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)), _mm256_mul_pd(xi_109, _mm256_set_pd(0.028571428571428571, 0.028571428571428571, 0.028571428571428571, 0.028571428571428571))), forceTerm_2), xi_167), xi_179), xi_180), xi_182), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_mul_pd(xi_175, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331))), _mm256_mul_pd(xi_183, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_184, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_3), xi_179), xi_195), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_132, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_183, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_184, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_189, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_195, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_170, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_134, xi_174), _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_set_pd(xi_173, xi_173, xi_173, xi_173))), forceTerm_4)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_178, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_180, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_196, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_197, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_206, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(_mm256_mul_pd(xi_127, _mm256_set_pd(0.015873015873015872, 0.015873015873015872, 0.015873015873015872, 0.015873015873015872)), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even))), _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_96, xi_98), _mm256_set_pd(0.095238095238095233, 0.095238095238095233, 0.095238095238095233, 0.095238095238095233)), _mm256_set_pd(xi_97, xi_97, xi_97, xi_97))), forceTerm_5)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128, _mm256_set_pd(0.015873015873015872, 0.015873015873015872, 0.015873015873015872, 0.015873015873015872)), _mm256_mul_pd(xi_99, _mm256_set_pd(0.095238095238095233, 0.095238095238095233, 0.095238095238095233, 0.095238095238095233))), _mm256_mul_pd(xi_196, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_197, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_6), xi_144), xi_182), xi_206), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_7, xi_213), xi_214), xi_219), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_8, xi_194), xi_213), xi_220), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_9, xi_214), xi_220), xi_221), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_10, xi_194), xi_219), xi_221), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_11, xi_232), xi_237), xi_243), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_156, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_232, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_244, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_245, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_12)); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_13, xi_250), xi_253), xi_258), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_14, xi_250), xi_259), xi_260), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_145, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_237, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_245, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_261, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_15)); - _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_16, xi_243), xi_244), xi_261), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_17, xi_258), xi_259), xi_262), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_18, xi_253), xi_260), xi_262), _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - } - for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - - double random_7_0{}; - double random_7_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } - - double random_6_0{}; - double random_6_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + { + for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 += 4) + { + + __m256d random_7_0{}; + __m256d random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + __m256d random_6_0{}; + __m256d random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + __m256d random_5_0{}; + __m256d random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + __m256d random_4_0{}; + __m256d random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + __m256d random_3_0{}; + __m256d random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + __m256d random_2_0{}; + __m256d random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + __m256d random_1_0{}; + __m256d random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + __m256d random_0_0{}; + __m256d random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const __m256d xi_2 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_3 = _mm256_add_pd(_mm256_add_pd(xi_2,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_4 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_5 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256d xi_6 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_7 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_8 = _mm256_add_pd(xi_7,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_9 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_11 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_12 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_13 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_14 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256d xi_15 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_16 = _mm256_add_pd(_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_21 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_22 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_33 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_34 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_39 = _mm256_mul_pd(_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_40 = _mm256_mul_pd(_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_58 = _mm256_mul_pd(_mm256_set_pd(0.25,0.25,0.25,0.25),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_63 = _mm256_mul_pd(_mm256_set_pd(xi_62,xi_62,xi_62,xi_62),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_98 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_6_0); + const __m256d xi_101 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_7_0); + const __m256d xi_103 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_2_1); + const __m256d xi_108 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_6_1); + const __m256d xi_112 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_load_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])); + const __m256d xi_118 = _mm256_add_pd(xi_11,xi_3); + const __m256d xi_121 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256d xi_124 = _mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_125 = _mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_126 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256d xi_129 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256d xi_133 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_0_1); + const __m256d xi_137 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_138 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_139 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])); + const __m256d xi_140 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256d xi_145 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256d xi_146 = _mm256_add_pd(xi_14,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_147 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0])); + const __m256d xi_148 = _mm256_add_pd(xi_147,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256d xi_149 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_145,xi_146),xi_148),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_151 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_5_1); + const __m256d xi_155 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256d xi_156 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256d xi_157 = _mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_158 = _mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + const __m256d xi_159 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(xi_157,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_148),xi_155),xi_156),xi_158),xi_5); + const __m256d xi_161 = _mm256_mul_pd(xi_159,_mm256_set_pd(xi_160,xi_160,xi_160,xi_160)); + const __m256d xi_162 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_3_0); + const __m256d xi_174 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_0_0); + const __m256d xi_185 = _mm256_add_pd(xi_15,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_186 = _mm256_add_pd(xi_138,xi_185); + const __m256d xi_187 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1])),xi_186),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_188 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_4_1); + const __m256d xi_189 = _mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d xi_190 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(xi_157,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_158,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_186,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_189,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_191 = _mm256_mul_pd(xi_190,_mm256_set_pd(xi_160,xi_160,xi_160,xi_160)); + const __m256d xi_192 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_4_0); + const __m256d xi_198 = _mm256_add_pd(_mm256_add_pd(xi_145,xi_155),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256d xi_199 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_198,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))); + const __m256d xi_200 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_5_0); + const __m256d xi_201 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_124,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_125,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_126),xi_140),xi_198),xi_6); + const __m256d xi_202 = _mm256_mul_pd(xi_201,_mm256_set_pd(xi_160,xi_160,xi_160,xi_160)); + const __m256d xi_203 = _mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_3_1); + const __m256d xi_224 = _mm256_mul_pd(xi_159,_mm256_set_pd(xi_223,xi_223,xi_223,xi_223)); + const __m256d xi_227 = _mm256_mul_pd(xi_149,_mm256_set_pd(xi_226,xi_226,xi_226,xi_226)); + const __m256d xi_233 = _mm256_mul_pd(xi_201,_mm256_set_pd(xi_223,xi_223,xi_223,xi_223)); + const __m256d xi_234 = _mm256_mul_pd(xi_199,_mm256_set_pd(xi_226,xi_226,xi_226,xi_226)); + const __m256d xi_254 = _mm256_mul_pd(xi_187,_mm256_set_pd(xi_226,xi_226,xi_226,xi_226)); + const __m256d xi_255 = _mm256_mul_pd(xi_190,_mm256_set_pd(xi_223,xi_223,xi_223,xi_223)); + const __m256d xi_23 = _mm256_mul_pd(xi_22,_mm256_set_pd(rr_0,rr_0,rr_0,rr_0)); + const __m256d xi_35 = _mm256_mul_pd(xi_34,_mm256_set_pd(rr_0,rr_0,rr_0,rr_0)); + const __m256d xi_41 = _mm256_mul_pd(xi_40,_mm256_set_pd(rr_0,rr_0,rr_0,rr_0)); + const __m256d xi_46 = _mm256_mul_pd(_mm256_set_pd(xi_45,xi_45,xi_45,xi_45),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_50 = _mm256_mul_pd(_mm256_set_pd(xi_45,xi_45,xi_45,xi_45),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_72 = _mm256_mul_pd(_mm256_set_pd(xi_45,xi_45,xi_45,xi_45),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d vel0Term = _mm256_add_pd(xi_3,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256d vel1Term = _mm256_add_pd(xi_4,xi_5); + const __m256d vel2Term = _mm256_add_pd(xi_6,_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d delta_rho = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel0Term,vel1Term),vel2Term),xi_8),xi_9),_mm256_load_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256d rho = _mm256_add_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),delta_rho); + const __m256d xi_95 = _mm256_mul_pd(rho,_mm256_set_pd(kT,kT,kT,kT)); + const __m256d xi_96 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_99 = _mm256_mul_pd(_mm256_mul_pd(xi_96,xi_98),_mm256_set_pd(xi_97,xi_97,xi_97,xi_97)); + const __m256d xi_102 = _mm256_mul_pd(_mm256_mul_pd(xi_101,xi_96),_mm256_set_pd(xi_100,xi_100,xi_100,xi_100)); + const __m256d xi_105 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_106 = _mm256_mul_pd(_mm256_mul_pd(xi_103,xi_105),_mm256_set_pd(xi_104,xi_104,xi_104,xi_104)); + const __m256d xi_109 = _mm256_mul_pd(_mm256_mul_pd(xi_108,xi_96),_mm256_set_pd(xi_107,xi_107,xi_107,xi_107)); + const __m256d xi_131 = _mm256_mul_pd(xi_99,_mm256_set_pd(0.11904761904761904,0.11904761904761904,0.11904761904761904,0.11904761904761904)); + const __m256d xi_134 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_135 = _mm256_mul_pd(xi_134,_mm256_set_pd(0.5,0.5,0.5,0.5)); + const __m256d xi_136 = _mm256_mul_pd(xi_133,xi_135); + const __m256d xi_152 = _mm256_sqrt_pd(_mm256_mul_pd(xi_95,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_pd(1.0,1.0,1.0,1.0)),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_pd(1.0,1.0,1.0,1.0)))),_mm256_set_pd(1.0,1.0,1.0,1.0)))); + const __m256d xi_153 = _mm256_mul_pd(xi_152,_mm256_set_pd(1.4142135623730951,1.4142135623730951,1.4142135623730951,1.4142135623730951)); + const __m256d xi_154 = _mm256_mul_pd(xi_153,_mm256_set_pd(0.5,0.5,0.5,0.5)); + const __m256d xi_163 = _mm256_mul_pd(xi_152,_mm256_set_pd(xi_104,xi_104,xi_104,xi_104)); + const __m256d xi_164 = _mm256_mul_pd(xi_163,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_165 = _mm256_mul_pd(xi_162,xi_164); + const __m256d xi_166 = _mm256_add_pd(xi_161,xi_165); + const __m256d xi_167 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_149,_mm256_set_pd(xi_150,xi_150,xi_150,xi_150)),_mm256_mul_pd(xi_151,xi_154)),xi_166); + const __m256d xi_169 = _mm256_mul_pd(xi_102,_mm256_set_pd(0.10000000000000001,0.10000000000000001,0.10000000000000001,0.10000000000000001)); + const __m256d xi_175 = _mm256_mul_pd(_mm256_mul_pd(xi_134,xi_174),_mm256_set_pd(xi_173,xi_173,xi_173,xi_173)); + const __m256d xi_176 = _mm256_mul_pd(xi_175,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_184 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.071428571428571425,0.071428571428571425,0.071428571428571425,0.071428571428571425)); + const __m256d xi_193 = _mm256_mul_pd(xi_164,xi_192); + const __m256d xi_194 = _mm256_add_pd(xi_191,xi_193); + const __m256d xi_195 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_187,_mm256_set_pd(xi_150,xi_150,xi_150,xi_150)),_mm256_mul_pd(xi_154,xi_188)),xi_194); + const __m256d xi_197 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.042857142857142858,0.042857142857142858,0.042857142857142858,0.042857142857142858)); + const __m256d xi_204 = _mm256_mul_pd(xi_164,xi_203); + const __m256d xi_205 = _mm256_add_pd(xi_202,xi_204); + const __m256d xi_206 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_199,_mm256_set_pd(xi_150,xi_150,xi_150,xi_150)),_mm256_mul_pd(xi_154,xi_200)),xi_205); + const __m256d xi_207 = _mm256_mul_pd(_mm256_mul_pd(xi_133,xi_134),_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_210 = _mm256_mul_pd(xi_99,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_214 = _mm256_add_pd(_mm256_mul_pd(xi_191,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_193,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_215 = _mm256_mul_pd(xi_135,_mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_1_0)); + const __m256d xi_222 = _mm256_mul_pd(xi_135,_mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_2_0)); + const __m256d xi_228 = _mm256_mul_pd(xi_163,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_229 = _mm256_mul_pd(xi_162,xi_228); + const __m256d xi_230 = _mm256_mul_pd(xi_153,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_231 = _mm256_mul_pd(xi_151,xi_230); + const __m256d xi_235 = _mm256_mul_pd(xi_203,xi_228); + const __m256d xi_236 = _mm256_mul_pd(xi_200,xi_230); + const __m256d xi_237 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_233,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_235,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_234),xi_236); + const __m256d xi_239 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.014285714285714285,0.014285714285714285,0.014285714285714285,0.014285714285714285)); + const __m256d xi_241 = _mm256_mul_pd(xi_99,_mm256_set_pd(0.023809523809523808,0.023809523809523808,0.023809523809523808,0.023809523809523808)); + const __m256d xi_244 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_234,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_236,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_233),xi_235); + const __m256d xi_246 = _mm256_mul_pd(xi_207,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_249 = _mm256_mul_pd(xi_109,_mm256_set_pd(0.035714285714285712,0.035714285714285712,0.035714285714285712,0.035714285714285712)); + const __m256d xi_251 = _mm256_mul_pd(xi_135,_mm256_add_pd(_mm256_set_pd(-0.5,-0.5,-0.5,-0.5),random_1_1)); + const __m256d xi_256 = _mm256_mul_pd(xi_188,xi_230); + const __m256d xi_257 = _mm256_mul_pd(xi_192,xi_228); + const __m256d xi_258 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_254,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_256,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_255),xi_257); + const __m256d xi_260 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_255,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_257,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_254),xi_256); + const __m256d xi_0 = _mm256_div_pd(_mm256_set_pd(1.0,1.0,1.0,1.0),rho); + const __m256d xi_10 = _mm256_mul_pd(xi_0,_mm256_set_pd(0.5,0.5,0.5,0.5)); + const __m256d u_0 = _mm256_add_pd(_mm256_mul_pd(xi_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),vel0Term)),_mm256_mul_pd(xi_10,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))); + const __m256d xi_17 = _mm256_mul_pd(u_0,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_28 = _mm256_mul_pd(xi_17,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_29 = _mm256_mul_pd(xi_28,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_30 = _mm256_mul_pd(xi_17,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_31 = _mm256_add_pd(_mm256_mul_pd(xi_30,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),xi_29); + const __m256d xi_48 = _mm256_add_pd(_mm256_mul_pd(xi_17,_mm256_set_pd(xi_47,xi_47,xi_47,xi_47)),xi_29); + const __m256d xi_49 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_34),xi_48); + const __m256d xi_52 = _mm256_mul_pd(xi_17,_mm256_set_pd(xi_51,xi_51,xi_51,xi_51)); + const __m256d xi_59 = _mm256_mul_pd(u_0,xi_58); + const __m256d xi_64 = _mm256_mul_pd(u_0,xi_63); + const __m256d xi_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_46),xi_48); + const __m256d xi_75 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_0,_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_85 = _mm256_mul_pd(u_0,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_86 = _mm256_mul_pd(xi_85,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_89 = _mm256_mul_pd(xi_85,_mm256_set_pd(xi_62,xi_62,xi_62,xi_62)); + const __m256d xi_111 = _mm256_mul_pd(u_0,u_0); + const __m256d u_1 = _mm256_add_pd(_mm256_mul_pd(xi_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),vel1Term)),_mm256_mul_pd(xi_10,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]))); + const __m256d xi_18 = _mm256_mul_pd(u_1,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_26 = _mm256_mul_pd(xi_18,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_36 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_1,_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256d xi_42 = _mm256_mul_pd(xi_26,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_43 = _mm256_mul_pd(xi_18,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_53 = _mm256_mul_pd(xi_18,_mm256_set_pd(xi_51,xi_51,xi_51,xi_51)); + const __m256d xi_60 = _mm256_mul_pd(u_1,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_61 = _mm256_mul_pd(xi_60,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_65 = _mm256_mul_pd(u_1,_mm256_set_pd(xi_62,xi_62,xi_62,xi_62)); + const __m256d xi_66 = _mm256_mul_pd(xi_65,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_67 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_64,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_66,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_59),xi_61); + const __m256d xi_69 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_59,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_61,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_64),xi_66); + const __m256d xi_77 = _mm256_mul_pd(xi_60,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_79 = _mm256_mul_pd(xi_65,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_110 = _mm256_mul_pd(rho,_mm256_mul_pd(u_1,u_1)); + const __m256d xi_117 = _mm256_mul_pd(xi_110,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_216 = _mm256_mul_pd(rho,u_1); + const __m256d xi_218 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_pd(u_0,xi_216)),xi_12),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_pd(xi_217,xi_217,xi_217,xi_217)); + const __m256d xi_219 = _mm256_add_pd(_mm256_mul_pd(xi_215,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_218,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_220 = _mm256_add_pd(xi_215,xi_218); + const __m256d u_2 = _mm256_add_pd(_mm256_mul_pd(xi_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_15,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_16,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),vel2Term)),_mm256_mul_pd(xi_10,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]))); + const __m256d xi_19 = _mm256_mul_pd(u_2,_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_24 = _mm256_mul_pd(xi_19,_mm256_set_pd(0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666)); + const __m256d xi_25 = _mm256_mul_pd(xi_24,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_27 = _mm256_mul_pd(xi_19,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)); + const __m256d xi_32 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18,_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331)),_mm256_mul_pd(xi_27,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_pd(_mm256_mul_pd(xi_26,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),xi_25),xi_31); + const __m256d xi_37 = _mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(u_2,_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256d xi_38 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_28,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_mul_pd(_mm256_mul_pd(u_0,_mm256_set_pd(-0.33333333333333331,-0.33333333333333331,-0.33333333333333331,-0.33333333333333331)),_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))),xi_24),xi_26),xi_36),xi_37); + const __m256d xi_44 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_19,_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331)),_mm256_mul_pd(xi_43,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_pd(_mm256_mul_pd(xi_24,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),xi_31),xi_42); + const __m256d xi_54 = _mm256_mul_pd(xi_19,_mm256_set_pd(xi_51,xi_51,xi_51,xi_51)); + const __m256d xi_55 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_18,_mm256_set_pd(xi_47,xi_47,xi_47,xi_47)),xi_42),xi_52),xi_53),xi_54); + const __m256d xi_56 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_22,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_50),xi_55); + const __m256d xi_57 = _mm256_add_pd(_mm256_add_pd(xi_27,xi_37),xi_56); + const __m256d xi_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_22),xi_55); + const __m256d xi_71 = _mm256_add_pd(_mm256_add_pd(xi_27,xi_37),xi_70); + const __m256d xi_73 = _mm256_add_pd(_mm256_mul_pd(xi_19,_mm256_set_pd(xi_47,xi_47,xi_47,xi_47)),xi_25); + const __m256d xi_74 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_72),xi_73); + const __m256d xi_76 = _mm256_add_pd(_mm256_add_pd(xi_30,xi_56),xi_75); + const __m256d xi_78 = _mm256_mul_pd(u_2,xi_58); + const __m256d xi_80 = _mm256_mul_pd(u_2,xi_63); + const __m256d xi_81 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_77,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_78,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_79),xi_80); + const __m256d xi_82 = _mm256_add_pd(_mm256_add_pd(xi_30,xi_70),xi_75); + const __m256d xi_83 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_79,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_80,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_77),xi_78); + const __m256d xi_84 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36,xi_43),xi_52),xi_53),xi_54),xi_74); + const __m256d xi_87 = _mm256_mul_pd(u_2,_mm256_load_pd(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256d xi_88 = _mm256_mul_pd(xi_87,_mm256_set_pd(0.25,0.25,0.25,0.25)); + const __m256d xi_90 = _mm256_mul_pd(xi_87,_mm256_set_pd(xi_62,xi_62,xi_62,xi_62)); + const __m256d xi_91 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_89,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_90,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_86),xi_88); + const __m256d xi_92 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_86,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_88,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_89),xi_90); + const __m256d xi_93 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_72,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_40),xi_73); + const __m256d xi_94 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_36,xi_43),xi_52),xi_53),xi_54),xi_93); + const __m256d xi_113 = _mm256_mul_pd(rho,_mm256_mul_pd(u_2,u_2)); + const __m256d xi_114 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(xi_113,_mm256_set_pd(0.66666666666666663,0.66666666666666663,0.66666666666666663,0.66666666666666663))),xi_112); + const __m256d xi_115 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(3.0,3.0,3.0,3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(xi_110,_mm256_set_pd(0.66666666666666663,0.66666666666666663,0.66666666666666663,0.66666666666666663))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_mul_pd(rho,xi_111),_mm256_set_pd(1.6666666666666667,1.6666666666666667,1.6666666666666667,1.6666666666666667))),xi_114); + const __m256d xi_116 = _mm256_mul_pd(xi_115,_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)); + const __m256d xi_119 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_112,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_117,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_118,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_16,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(rho,xi_111)),xi_113); + const __m256d xi_120 = _mm256_mul_pd(xi_119,_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk)); + const __m256d xi_122 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_110,_mm256_set_pd(2.3333333333333335,2.3333333333333335,2.3333333333333335,2.3333333333333335)),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_set_pd(-5.0,-5.0,-5.0,-5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),xi_114),xi_121); + const __m256d xi_123 = _mm256_mul_pd(xi_122,_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)); + const __m256d xi_127 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_113,_mm256_set_pd(3.0,3.0,3.0,3.0)),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(5.0,5.0,5.0,5.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_set_pd(-7.0,-7.0,-7.0,-7.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))),xi_112),xi_121),xi_124),xi_125),xi_126); + const __m256d xi_128 = _mm256_mul_pd(xi_127,_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)); + const __m256d xi_130 = _mm256_mul_pd(xi_128,_mm256_set_pd(0.01984126984126984,0.01984126984126984,0.01984126984126984,0.01984126984126984)); + const __m256d xi_132 = _mm256_add_pd(xi_130,xi_131); + const __m256d xi_141 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_113,xi_139),xi_140),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256d xi_142 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_117,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_137,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_138,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_141,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_15,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_4,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256d xi_143 = _mm256_mul_pd(xi_142,_mm256_set_pd(0.125,0.125,0.125,0.125)); + const __m256d xi_144 = _mm256_add_pd(_mm256_mul_pd(xi_136,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_143,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_168 = _mm256_mul_pd(xi_116,_mm256_set_pd(0.050000000000000003,0.050000000000000003,0.050000000000000003,0.050000000000000003)); + const __m256d xi_170 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(_mm256_set_pd(2.0,2.0,2.0,2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_pd(xi_110,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_118,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_129,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_141,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_147,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_pd(_mm256_set_pd(-2.0,-2.0,-2.0,-2.0),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_pd(_mm256_mul_pd(rho,xi_111),_mm256_set_pd(2.0,2.0,2.0,2.0))); + const __m256d xi_171 = _mm256_mul_pd(xi_170,_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256d xi_172 = _mm256_mul_pd(xi_171,_mm256_set_pd(0.041666666666666664,0.041666666666666664,0.041666666666666664,0.041666666666666664)); + const __m256d xi_177 = _mm256_add_pd(xi_172,xi_176); + const __m256d xi_178 = _mm256_add_pd(_mm256_add_pd(xi_168,xi_169),xi_177); + const __m256d xi_179 = _mm256_add_pd(_mm256_mul_pd(xi_130,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_131,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_180 = _mm256_add_pd(xi_136,xi_143); + const __m256d xi_181 = _mm256_add_pd(_mm256_mul_pd(xi_172,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_176,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_182 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_168,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_169,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_181); + const __m256d xi_183 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.035714285714285712,0.035714285714285712,0.035714285714285712,0.035714285714285712)); + const __m256d xi_196 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.021428571428571429,0.021428571428571429,0.021428571428571429,0.021428571428571429)); + const __m256d xi_208 = _mm256_mul_pd(xi_142,_mm256_set_pd(0.0625,0.0625,0.0625,0.0625)); + const __m256d xi_209 = _mm256_mul_pd(xi_128,_mm256_set_pd(0.013888888888888888,0.013888888888888888,0.013888888888888888,0.013888888888888888)); + const __m256d xi_211 = _mm256_add_pd(_mm256_mul_pd(xi_120,_mm256_set_pd(0.041666666666666664,0.041666666666666664,0.041666666666666664,0.041666666666666664)),_mm256_mul_pd(xi_106,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329))); + const __m256d xi_212 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171,_mm256_set_pd(0.020833333333333332,0.020833333333333332,0.020833333333333332,0.020833333333333332)),_mm256_mul_pd(xi_175,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329))),xi_211); + const __m256d xi_213 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_166,xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256d xi_221 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_161,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_165,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256d xi_225 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(u_2,xi_216),xi_146),xi_155),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])),_mm256_set_pd(xi_217,xi_217,xi_217,xi_217)); + const __m256d xi_232 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_224,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_229,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_222),xi_225),xi_227),xi_231); + const __m256d xi_238 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.0071428571428571426,0.0071428571428571426,0.0071428571428571426,0.0071428571428571426)); + const __m256d xi_240 = _mm256_mul_pd(xi_128,_mm256_set_pd(0.003968253968253968,0.003968253968253968,0.003968253968253968,0.003968253968253968)); + const __m256d xi_242 = _mm256_add_pd(_mm256_mul_pd(xi_240,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_241,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_243 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_116,_mm256_set_pd(0.025000000000000001,0.025000000000000001,0.025000000000000001,0.025000000000000001)),_mm256_mul_pd(xi_102,_mm256_set_pd(0.050000000000000003,0.050000000000000003,0.050000000000000003,0.050000000000000003))),_mm256_mul_pd(xi_238,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_239,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_181),xi_211),xi_242); + const __m256d xi_245 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_115,_mm256_set_pd(-0.025000000000000001,-0.025000000000000001,-0.025000000000000001,-0.025000000000000001)),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even)),_mm256_mul_pd(_mm256_mul_pd(xi_119,_mm256_set_pd(-0.041666666666666664,-0.041666666666666664,-0.041666666666666664,-0.041666666666666664)),_mm256_set_pd(omega_bulk,omega_bulk,omega_bulk,omega_bulk))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_101,xi_96),_mm256_set_pd(-0.050000000000000003,-0.050000000000000003,-0.050000000000000003,-0.050000000000000003)),_mm256_set_pd(xi_100,xi_100,xi_100,xi_100))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_103,xi_105),_mm256_set_pd(-0.083333333333333329,-0.083333333333333329,-0.083333333333333329,-0.083333333333333329)),_mm256_set_pd(xi_104,xi_104,xi_104,xi_104))),xi_177),xi_238),xi_239),xi_240),xi_241); + const __m256d xi_247 = _mm256_mul_pd(xi_208,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)); + const __m256d xi_248 = _mm256_mul_pd(xi_123,_mm256_set_pd(0.017857142857142856,0.017857142857142856,0.017857142857142856,0.017857142857142856)); + const __m256d xi_250 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_205,xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256d xi_252 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(rho,u_0),u_2),xi_137),xi_185),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])),_mm256_set_pd(xi_217,xi_217,xi_217,xi_217)); + const __m256d xi_253 = _mm256_add_pd(_mm256_mul_pd(xi_251,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_252,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d xi_259 = _mm256_add_pd(xi_251,xi_252); + const __m256d xi_261 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_227,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_231,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_222),xi_224),xi_225),xi_229); + const __m256d xi_262 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_202,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_204,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256d forceTerm_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_19,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_17,_mm256_set_pd(xi_20,xi_20,xi_20,xi_20))),_mm256_mul_pd(xi_18,_mm256_set_pd(xi_20,xi_20,xi_20,xi_20))),_mm256_mul_pd(xi_19,_mm256_set_pd(xi_20,xi_20,xi_20,xi_20))); + const __m256d forceTerm_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_23,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_21),xi_32); + const __m256d forceTerm_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_23),xi_32); + const __m256d forceTerm_3 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_33,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_35); + const __m256d forceTerm_4 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),xi_33); + const __m256d forceTerm_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_39),xi_44); + const __m256d forceTerm_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_39,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),xi_41),xi_44); + const __m256d forceTerm_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_8 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_57,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_9 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_69,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_10 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_67,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_71,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_11 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_12 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_74,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_13 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_91,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_14 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_84,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_92,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_76,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_83,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_93,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_81,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_82,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_93,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_17 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_92,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_94,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + const __m256d forceTerm_18 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_68,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_91,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_94,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128,_mm256_set_pd(0.023809523809523808,0.023809523809523808,0.023809523809523808,0.023809523809523808)),_mm256_mul_pd(xi_99,_mm256_set_pd(0.14285714285714285,0.14285714285714285,0.14285714285714285,0.14285714285714285))),_mm256_mul_pd(xi_123,_mm256_set_pd(0.042857142857142858,0.042857142857142858,0.042857142857142858,0.042857142857142858))),_mm256_mul_pd(xi_109,_mm256_set_pd(0.085714285714285715,0.085714285714285715,0.085714285714285715,0.085714285714285715))),_mm256_mul_pd(xi_116,_mm256_set_pd(0.10000000000000001,0.10000000000000001,0.10000000000000001,0.10000000000000001))),_mm256_mul_pd(xi_102,_mm256_set_pd(0.20000000000000001,0.20000000000000001,0.20000000000000001,0.20000000000000001))),_mm256_mul_pd(xi_120,_mm256_set_pd(-0.5,-0.5,-0.5,-0.5))),_mm256_mul_pd(xi_106,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_0),_mm256_load_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_129,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_132,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_144,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_167,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_178,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(xi_122,_mm256_set_pd(0.014285714285714285,0.014285714285714285,0.014285714285714285,0.014285714285714285)),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_108,xi_96),_mm256_set_pd(0.028571428571428571,0.028571428571428571,0.028571428571428571,0.028571428571428571)),_mm256_set_pd(xi_107,xi_107,xi_107,xi_107))),forceTerm_1)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_123,_mm256_set_pd(0.014285714285714285,0.014285714285714285,0.014285714285714285,0.014285714285714285)),_mm256_mul_pd(xi_109,_mm256_set_pd(0.028571428571428571,0.028571428571428571,0.028571428571428571,0.028571428571428571))),forceTerm_2),xi_167),xi_179),xi_180),xi_182),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_171,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_mul_pd(xi_175,_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331))),_mm256_mul_pd(xi_183,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_184,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_3),xi_179),xi_195),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_132,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_183,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_184,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_189,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_195,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(xi_170,_mm256_set_pd(0.083333333333333329,0.083333333333333329,0.083333333333333329,0.083333333333333329)),_mm256_set_pd(omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_134,xi_174),_mm256_set_pd(0.33333333333333331,0.33333333333333331,0.33333333333333331,0.33333333333333331)),_mm256_set_pd(xi_173,xi_173,xi_173,xi_173))),forceTerm_4)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_139,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_178,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_180,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_196,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_197,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_206,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_mul_pd(xi_127,_mm256_set_pd(0.015873015873015872,0.015873015873015872,0.015873015873015872,0.015873015873015872)),_mm256_set_pd(omega_even,omega_even,omega_even,omega_even))),_mm256_mul_pd(_mm256_mul_pd(_mm256_mul_pd(xi_96,xi_98),_mm256_set_pd(0.095238095238095233,0.095238095238095233,0.095238095238095233,0.095238095238095233)),_mm256_set_pd(xi_97,xi_97,xi_97,xi_97))),forceTerm_5)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128,_mm256_set_pd(0.015873015873015872,0.015873015873015872,0.015873015873015872,0.015873015873015872)),_mm256_mul_pd(xi_99,_mm256_set_pd(0.095238095238095233,0.095238095238095233,0.095238095238095233,0.095238095238095233))),_mm256_mul_pd(xi_196,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_197,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_6),xi_144),xi_182),xi_206),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_7,xi_213),xi_214),xi_219),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_8,xi_194),xi_213),xi_220),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_9,xi_214),xi_220),xi_221),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_10,xi_194),xi_219),xi_221),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_11,xi_232),xi_237),xi_243),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_156,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_232,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_244,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_245,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_12)); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_13,xi_250),xi_253),xi_258),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_14,xi_250),xi_259),xi_260),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_145,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(xi_237,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_245,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(xi_261,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),forceTerm_15)); + _mm256_store_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_16,xi_243),xi_244),xi_261),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_17,xi_258),xi_259),xi_262),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_pd(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_18,xi_253),xi_260),xi_262),_mm256_loadu_pd(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + } + for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (4)) * (4) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { + philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); + } + const double xi_2 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_4 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_5 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const double xi_6 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const double xi_7 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_9 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const double xi_11 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_12 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_13 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const double xi_14 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const double xi_15 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_16 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_21 = 0.16666666666666666*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_22 = 0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_33 = 0.16666666666666666*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_34 = 0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_39 = 0.16666666666666666*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_40 = 0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_58 = 0.25*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_63 = xi_62*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_98 = random_6_0 - 0.5; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_124 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_125 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_126 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_129 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_138 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_139 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const double xi_140 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const double xi_145 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const double xi_147 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const double xi_156 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const double xi_157 = 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_158 = -2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_161 = xi_159*xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_191 = xi_160*xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160*xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_224 = xi_159*xi_223; + const double xi_227 = xi_149*xi_226; + const double xi_233 = xi_201*xi_223; + const double xi_234 = xi_199*xi_226; + const double xi_254 = xi_187*xi_226; + const double xi_255 = xi_190*xi_223; + const double xi_23 = rr_0*xi_22; + const double xi_35 = rr_0*xi_34; + const double xi_41 = rr_0*xi_40; + const double xi_46 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_50 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_72 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const double rho = delta_rho + 1.0; + const double xi_95 = kT*rho; + const double xi_96 = pow(xi_95*(1.0 - ((-omega_even + 1.0)*(-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96*xi_97*xi_98; + const double xi_102 = xi_100*xi_101*xi_96; + const double xi_105 = pow(xi_95*(1.0 - ((-omega_bulk + 1.0)*(-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103*xi_104*xi_105; + const double xi_109 = xi_107*xi_108*xi_96; + const double xi_131 = xi_99*0.11904761904761904; + const double xi_134 = pow(xi_95*(1.0 - ((-omega_shear + 1.0)*(-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134*0.5; + const double xi_136 = xi_133*xi_135; + const double xi_152 = pow(xi_95*(1.0 - ((-omega_odd + 1.0)*(-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152*1.4142135623730951; + const double xi_154 = xi_153*0.5; + const double xi_163 = xi_104*xi_152; + const double xi_164 = xi_163*0.16666666666666666; + const double xi_165 = xi_162*xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const double xi_169 = xi_102*0.10000000000000001; + const double xi_175 = xi_134*xi_173*xi_174; + const double xi_176 = xi_175*0.16666666666666666; + const double xi_184 = xi_109*0.071428571428571425; + const double xi_193 = xi_164*xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const double xi_197 = xi_109*0.042857142857142858; + const double xi_204 = xi_164*xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const double xi_207 = xi_133*xi_134*0.25; + const double xi_210 = xi_99*0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135*(random_1_0 - 0.5); + const double xi_222 = xi_135*(random_2_0 - 0.5); + const double xi_228 = xi_163*0.083333333333333329; + const double xi_229 = xi_162*xi_228; + const double xi_230 = xi_153*0.25; + const double xi_231 = xi_151*xi_230; + const double xi_235 = xi_203*xi_228; + const double xi_236 = xi_200*xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109*0.014285714285714285; + const double xi_241 = xi_99*0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109*0.035714285714285712; + const double xi_251 = xi_135*(random_1_1 - 0.5); + const double xi_256 = xi_188*xi_230; + const double xi_257 = xi_192*xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0*0.5; + const double u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_17 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_28 = xi_17*0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17*0.083333333333333329; + const double xi_31 = omega_shear*xi_30 + xi_29; + const double xi_48 = xi_17*xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17*xi_51; + const double xi_59 = u_0*xi_58; + const double xi_64 = u_0*xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear*u_0*-0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_85 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_86 = xi_85*0.25; + const double xi_89 = xi_62*xi_85; + const double xi_111 = (u_0*u_0); + const double u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_18 = u_1*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_26 = xi_18*0.16666666666666666; + const double xi_36 = omega_shear*u_1*-0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18*0.083333333333333329; + const double xi_53 = xi_18*xi_51; + const double xi_60 = u_1*0.25; + const double xi_61 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_65 = u_1*xi_62; + const double xi_66 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_79 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_110 = rho*(u_1*u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho*u_1; + const double xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_19 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_24 = xi_19*0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19*0.083333333333333329; + const double xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear*u_2*-0.083333333333333329*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const double xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19*xi_51; + const double xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19*xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2*xi_58; + const double xi_80 = u_2*xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const double xi_88 = xi_87*0.25; + const double xi_90 = xi_62*xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho*(u_2*u_2); + const double xi_114 = xi_112 + xi_113*0.66666666666666663 + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const double xi_115 = rho*xi_111*1.6666666666666667 + xi_110*0.66666666666666663 + xi_114 - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] - 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 3.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_116 = omega_even*xi_115; + const double xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk*xi_119; + const double xi_122 = xi_110*2.3333333333333335 + xi_114 + xi_121 - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] - 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const double xi_123 = omega_even*xi_122; + const double xi_127 = xi_112 + xi_113*3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - 4.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] - 7.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 5.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const double xi_128 = omega_even*xi_127; + const double xi_130 = xi_128*0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]); + const double xi_143 = xi_142*0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116*0.050000000000000003; + const double xi_170 = rho*xi_111*2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] - 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const double xi_171 = omega_shear*xi_170; + const double xi_172 = xi_171*0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123*0.035714285714285712; + const double xi_196 = xi_123*0.021428571428571429; + const double xi_208 = xi_142*0.0625; + const double xi_209 = xi_128*0.013888888888888888; + const double xi_211 = xi_106*0.083333333333333329 + xi_120*0.041666666666666664; + const double xi_212 = xi_171*0.020833333333333332 + xi_175*0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123*0.0071428571428571426; + const double xi_240 = xi_128*0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102*0.050000000000000003 + xi_116*0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk*xi_119*-0.041666666666666664 + omega_even*xi_115*-0.025000000000000001 + xi_100*xi_101*xi_96*-0.050000000000000003 + xi_103*xi_104*xi_105*-0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123*0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0] = forceTerm_0 + xi_102*0.20000000000000001 - xi_106 + xi_109*0.085714285714285715 + xi_116*0.10000000000000001 + xi_120*-0.5 + xi_123*0.042857142857142858 + xi_128*0.023809523809523808 + xi_99*0.14285714285714285 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even*xi_122*0.014285714285714285 + xi_107*xi_108*xi_96*0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109*0.028571428571428571 + xi_123*0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171*0.083333333333333329 + xi_175*0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329 - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even*xi_127*0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128*0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + } } + } + } + } +} +} - double random_5_0{}; - double random_5_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } - double random_4_0{}; - double random_4_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } +void StreamCollideSweepThermalizedDoublePrecisionAVX::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } + } - double random_3_0{}; - double random_3_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } + auto & block_offset_0 = this->block_offset_0_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_b312c2da0affb0ff73dd81300a784e62::streamcollidesweepthermalizeddoubleprecisionavx_streamcollidesweepthermalizeddoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); - double random_2_0{}; - double random_2_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } +} - double random_1_0{}; - double random_1_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } - double random_0_0{}; - double random_0_1{}; - if (kT > 0.) { - philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const double xi_2 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_4 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_5 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const double xi_6 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const double xi_7 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_9 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const double xi_11 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_12 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_13 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const double xi_14 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const double xi_15 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_16 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_58 = 0.25 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_63 = xi_62 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_98 = random_6_0 - 0.5; - const double xi_101 = random_7_0 - 0.5; - const double xi_103 = random_2_1 - 0.5; - const double xi_108 = random_6_1 - 0.5; - const double xi_112 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const double xi_118 = xi_11 + xi_3; - const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_129 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_133 = random_0_1 - 0.5; - const double xi_137 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_138 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_139 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const double xi_140 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const double xi_145 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; - const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const double xi_147 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const double xi_151 = random_5_1 - 0.5; - const double xi_155 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const double xi_156 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_161 = xi_159 * xi_160; - const double xi_162 = random_3_0 - 0.5; - const double xi_174 = random_0_0 - 0.5; - const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_186 = xi_138 + xi_185; - const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_188 = random_4_1 - 0.5; - const double xi_189 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_191 = xi_160 * xi_190; - const double xi_192 = random_4_0 - 0.5; - const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const double xi_200 = random_5_0 - 0.5; - const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const double xi_202 = xi_160 * xi_201; - const double xi_203 = random_3_1 - 0.5; - const double xi_224 = xi_159 * xi_223; - const double xi_227 = xi_149 * xi_226; - const double xi_233 = xi_201 * xi_223; - const double xi_234 = xi_199 * xi_226; - const double xi_254 = xi_187 * xi_226; - const double xi_255 = xi_190 * xi_223; - const double xi_23 = rr_0 * xi_22; - const double xi_35 = rr_0 * xi_34; - const double xi_41 = rr_0 * xi_40; - const double xi_46 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_50 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_72 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const double vel1Term = xi_4 + xi_5; - const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const double rho = delta_rho + 1.0; - const double xi_95 = kT * rho; - const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); - const double xi_99 = xi_96 * xi_97 * xi_98; - const double xi_102 = xi_100 * xi_101 * xi_96; - const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); - const double xi_106 = xi_103 * xi_104 * xi_105; - const double xi_109 = xi_107 * xi_108 * xi_96; - const double xi_131 = xi_99 * 0.11904761904761904; - const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); - const double xi_135 = xi_134 * 0.5; - const double xi_136 = xi_133 * xi_135; - const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); - const double xi_153 = xi_152 * 1.4142135623730951; - const double xi_154 = xi_153 * 0.5; - const double xi_163 = xi_104 * xi_152; - const double xi_164 = xi_163 * 0.16666666666666666; - const double xi_165 = xi_162 * xi_164; - const double xi_166 = xi_161 + xi_165; - const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const double xi_169 = xi_102 * 0.10000000000000001; - const double xi_175 = xi_134 * xi_173 * xi_174; - const double xi_176 = xi_175 * 0.16666666666666666; - const double xi_184 = xi_109 * 0.071428571428571425; - const double xi_193 = xi_164 * xi_192; - const double xi_194 = xi_191 + xi_193; - const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const double xi_197 = xi_109 * 0.042857142857142858; - const double xi_204 = xi_164 * xi_203; - const double xi_205 = xi_202 + xi_204; - const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const double xi_207 = xi_133 * xi_134 * 0.25; - const double xi_210 = xi_99 * 0.083333333333333329; - const double xi_214 = -xi_191 - xi_193; - const double xi_215 = xi_135 * (random_1_0 - 0.5); - const double xi_222 = xi_135 * (random_2_0 - 0.5); - const double xi_228 = xi_163 * 0.083333333333333329; - const double xi_229 = xi_162 * xi_228; - const double xi_230 = xi_153 * 0.25; - const double xi_231 = xi_151 * xi_230; - const double xi_235 = xi_203 * xi_228; - const double xi_236 = xi_200 * xi_230; - const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const double xi_239 = xi_109 * 0.014285714285714285; - const double xi_241 = xi_99 * 0.023809523809523808; - const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const double xi_246 = -xi_207; - const double xi_249 = xi_109 * 0.035714285714285712; - const double xi_251 = xi_135 * (random_1_1 - 0.5); - const double xi_256 = xi_188 * xi_230; - const double xi_257 = xi_192 * xi_228; - const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const double xi_0 = ((1.0) / (rho)); - const double xi_10 = xi_0 * 0.5; - const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_17 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_28 = xi_17 * 0.16666666666666666; - const double xi_29 = -xi_28; - const double xi_30 = xi_17 * 0.083333333333333329; - const double xi_31 = omega_shear * xi_30 + xi_29; - const double xi_48 = xi_17 * xi_47 + xi_29; - const double xi_49 = xi_34 - xi_46 + xi_48; - const double xi_52 = xi_17 * xi_51; - const double xi_59 = u_0 * xi_58; - const double xi_64 = u_0 * xi_63; - const double xi_68 = -xi_34 + xi_46 + xi_48; - const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_85 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_86 = xi_85 * 0.25; - const double xi_89 = xi_62 * xi_85; - const double xi_111 = (u_0 * u_0); - const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_18 = u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_26 = xi_18 * 0.16666666666666666; - const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const double xi_42 = -xi_26; - const double xi_43 = xi_18 * 0.083333333333333329; - const double xi_53 = xi_18 * xi_51; - const double xi_60 = u_1 * 0.25; - const double xi_61 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_65 = u_1 * xi_62; - const double xi_66 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const double xi_77 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_79 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_110 = rho * (u_1 * u_1); - const double xi_117 = -xi_110; - const double xi_216 = rho * u_1; - const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]); - const double xi_219 = -xi_215 - xi_218; - const double xi_220 = xi_215 + xi_218; - const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_19 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_24 = xi_19 * 0.16666666666666666; - const double xi_25 = -xi_24; - const double xi_27 = xi_19 * 0.083333333333333329; - const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; - const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; - const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; - const double xi_54 = xi_19 * xi_51; - const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const double xi_56 = -xi_22 + xi_50 + xi_55; - const double xi_57 = xi_27 + xi_37 + xi_56; - const double xi_70 = xi_22 - xi_50 + xi_55; - const double xi_71 = xi_27 + xi_37 + xi_70; - const double xi_73 = xi_19 * xi_47 + xi_25; - const double xi_74 = -xi_40 + xi_72 + xi_73; - const double xi_76 = xi_30 + xi_56 + xi_75; - const double xi_78 = u_2 * xi_58; - const double xi_80 = u_2 * xi_63; - const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const double xi_82 = xi_30 + xi_70 + xi_75; - const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const double xi_87 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const double xi_88 = xi_87 * 0.25; - const double xi_90 = xi_62 * xi_87; - const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const double xi_93 = xi_40 - xi_72 + xi_73; - const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const double xi_113 = rho * (u_2 * u_2); - const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] - 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 3.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_116 = omega_even * xi_115; - const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const double xi_120 = omega_bulk * xi_119; - const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const double xi_123 = omega_even * xi_122; - const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 4.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] - 7.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 5.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const double xi_128 = omega_even * xi_127; - const double xi_130 = xi_128 * 0.01984126984126984; - const double xi_132 = xi_130 + xi_131; - const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]); - const double xi_143 = xi_142 * 0.125; - const double xi_144 = -xi_136 - xi_143; - const double xi_168 = xi_116 * 0.050000000000000003; - const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0 * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const double xi_171 = omega_shear * xi_170; - const double xi_172 = xi_171 * 0.041666666666666664; - const double xi_177 = xi_172 + xi_176; - const double xi_178 = xi_168 + xi_169 + xi_177; - const double xi_179 = -xi_130 - xi_131; - const double xi_180 = xi_136 + xi_143; - const double xi_181 = -xi_172 - xi_176; - const double xi_182 = -xi_168 - xi_169 + xi_181; - const double xi_183 = xi_123 * 0.035714285714285712; - const double xi_196 = xi_123 * 0.021428571428571429; - const double xi_208 = xi_142 * 0.0625; - const double xi_209 = xi_128 * 0.013888888888888888; - const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; - const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; - const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]); - const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const double xi_238 = xi_123 * 0.0071428571428571426; - const double xi_240 = xi_128 * 0.003968253968253968; - const double xi_242 = -xi_240 - xi_241; - const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const double xi_247 = -xi_208; - const double xi_248 = xi_123 * 0.017857142857142856; - const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]); - const double xi_253 = -xi_251 - xi_252; - const double xi_259 = xi_251 + xi_252; - const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const double forceTerm_1 = xi_21 - xi_23 + xi_32; - const double forceTerm_2 = -xi_21 + xi_23 + xi_32; - const double forceTerm_3 = -xi_33 + xi_35 - xi_38; - const double forceTerm_4 = xi_33 - xi_35 - xi_38; - const double forceTerm_5 = xi_39 - xi_41 + xi_44; - const double forceTerm_6 = -xi_39 + xi_41 + xi_44; - const double forceTerm_7 = -xi_49 - xi_57 - xi_67; - const double forceTerm_8 = -xi_57 - xi_68 - xi_69; - const double forceTerm_9 = -xi_49 - xi_69 - xi_71; - const double forceTerm_10 = -xi_67 - xi_68 - xi_71; - const double forceTerm_11 = -xi_74 - xi_76 - xi_81; - const double forceTerm_12 = -xi_74 - xi_82 - xi_83; - const double forceTerm_13 = -xi_49 - xi_84 - xi_91; - const double forceTerm_14 = -xi_68 - xi_84 - xi_92; - const double forceTerm_15 = -xi_76 - xi_83 - xi_93; - const double forceTerm_16 = -xi_81 - xi_82 - xi_93; - const double forceTerm_17 = -xi_49 - xi_92 - xi_94; - const double forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - } +void StreamCollideSweepThermalizedDoublePrecisionAVX::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; + + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + auto force = block->getData< field::GhostLayerField >(forceID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; } - } } - } -} -} // namespace internal_b312c2da0affb0ff73dd81300a784e62 -void StreamCollideSweepThermalizedDoublePrecisionAVX::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + auto & block_offset_0 = this->block_offset_0_; + auto & omega_shear = this->omega_shear_; + auto & omega_odd = this->omega_odd_; + auto & seed = this->seed_; + auto & kT = this->kT_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_bulk = this->omega_bulk_; + auto & time_step = this->time_step_; + auto & block_offset_2 = this->block_offset_2_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_b312c2da0affb0ff73dd81300a784e62::streamcollidesweepthermalizeddoubleprecisionavx_streamcollidesweepthermalizeddoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &block_offset_0 = this->block_offset_0_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_b312c2da0affb0ff73dd81300a784e62::streamcollidesweepthermalizeddoubleprecisionavx_streamcollidesweepthermalizeddoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); } -void StreamCollideSweepThermalizedDoublePrecisionAVX::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; - - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &omega_bulk = this->omega_bulk_; - auto &kT = this->kT_; - auto &block_offset_0 = this->block_offset_0_; - auto &time_step = this->time_step_; - auto &seed = this->seed_; - auto &omega_even = this->omega_even_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_b312c2da0affb0ff73dd81300a784e62::streamcollidesweepthermalizeddoubleprecisionavx_streamcollidesweepthermalizeddoubleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); -} } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu index 01896c2df8..9a313a3bb2 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedDoublePrecisionCUDA.cu @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepThermalizedDoublePrecisionCUDA.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepThermalizedDoublePrecisionCUDA.h" + #include "philox_rand.h" + + #define FUNC_PREFIX __global__ -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,518 +51,536 @@ using namespace std; namespace walberla { namespace pystencils { -namespace internal_streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda { -static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda(double *RESTRICT const _data_force, double *RESTRICT const _data_pdfs, double *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step) { - if (blockDim.x * blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y * blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z * blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) { - const int64_t ctr_0 = blockDim.x * blockIdx.x + threadIdx.x + 1; - const int64_t ctr_1 = blockDim.y * blockIdx.y + threadIdx.y + 1; - const int64_t ctr_2 = blockDim.z * blockIdx.z + threadIdx.z + 1; - double random_7_0{}; - double random_7_1{}; - if (kT > 0.) { +namespace internal_streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda { +static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda(double * RESTRICT const _data_force, double * RESTRICT const _data_pdfs, double * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, double kT, double omega_bulk, double omega_even, double omega_odd, double omega_shear, uint32_t seed, uint32_t time_step) +{ + if (blockDim.x*blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y*blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z*blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x + 1; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y + 1; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z + 1; + + double random_7_0{}; + double random_7_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 7, seed, random_7_0, random_7_1); - } - - double random_6_0{}; - double random_6_1{}; - if (kT > 0.) { + } + + double random_6_0{}; + double random_6_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 6, seed, random_6_0, random_6_1); - } - - double random_5_0{}; - double random_5_1{}; - if (kT > 0.) { + } + + double random_5_0{}; + double random_5_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 5, seed, random_5_0, random_5_1); - } - - double random_4_0{}; - double random_4_1{}; - if (kT > 0.) { + } + + double random_4_0{}; + double random_4_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 4, seed, random_4_0, random_4_1); - } - - double random_3_0{}; - double random_3_1{}; - if (kT > 0.) { + } + + double random_3_0{}; + double random_3_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1); - } - - double random_2_0{}; - double random_2_1{}; - if (kT > 0.) { + } + + double random_2_0{}; + double random_2_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1); - } - - double random_1_0{}; - double random_1_1{}; - if (kT > 0.) { + } + + double random_1_0{}; + double random_1_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1); - } - - double random_0_0{}; - double random_0_1{}; - if (kT > 0.) { + } + + double random_0_0{}; + double random_0_1{}; + if (kT > 0.) { philox_double2(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1); - } - const double xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const double xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_20 = omega_bulk * 0.5; - const double xi_21 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_22 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_33 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_34 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_39 = 0.16666666666666666 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_40 = 0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_47 = omega_shear * 0.041666666666666664; - const double xi_51 = omega_bulk * 0.041666666666666664; - const double xi_58 = 0.25 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_62 = omega_shear * 0.125; - const double xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_97 = 3.7416573867739413; - const double xi_98 = random_6_0 - 0.5; - const double xi_100 = 5.4772255750516612; - const double xi_101 = random_7_0 - 0.5; - const double xi_103 = random_2_1 - 0.5; - const double xi_104 = 2.4494897427831779; - const double xi_107 = 8.3666002653407556; - const double xi_108 = random_6_1 - 0.5; - const double xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double xi_118 = xi_11 + xi_3; - const double xi_121 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_124 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_125 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_126 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_133 = random_0_1 - 0.5; - const double xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const double xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_150 = omega_odd * 0.25; - const double xi_151 = random_5_1 - 0.5; - const double xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const double xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const double xi_157 = 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const double xi_158 = -2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_160 = omega_odd * 0.083333333333333329; - const double xi_161 = xi_159 * xi_160; - const double xi_162 = random_3_0 - 0.5; - const double xi_173 = 1.7320508075688772; - const double xi_174 = random_0_0 - 0.5; - const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double xi_186 = xi_138 + xi_185; - const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_188 = random_4_1 - 0.5; - const double xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_191 = xi_160 * xi_190; - const double xi_192 = random_4_0 - 0.5; - const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const double xi_200 = random_5_0 - 0.5; - const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const double xi_202 = xi_160 * xi_201; - const double xi_203 = random_3_1 - 0.5; - const double xi_217 = omega_shear * 0.25; - const double xi_223 = omega_odd * 0.041666666666666664; - const double xi_224 = xi_159 * xi_223; - const double xi_226 = omega_odd * 0.125; - const double xi_227 = xi_149 * xi_226; - const double xi_233 = xi_201 * xi_223; - const double xi_234 = xi_199 * xi_226; - const double xi_254 = xi_187 * xi_226; - const double xi_255 = xi_190 * xi_223; - const double rr_0 = 0.0; - const double xi_23 = rr_0 * xi_22; - const double xi_35 = rr_0 * xi_34; - const double xi_41 = rr_0 * xi_40; - const double xi_45 = rr_0 * 0.041666666666666664; - const double xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const double vel1Term = xi_4 + xi_5; - const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const double rho = delta_rho + 1.0; - const double xi_95 = kT * rho; - const double xi_96 = pow(xi_95 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5); - const double xi_99 = xi_96 * xi_97 * xi_98; - const double xi_102 = xi_100 * xi_101 * xi_96; - const double xi_105 = pow(xi_95 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5); - const double xi_106 = xi_103 * xi_104 * xi_105; - const double xi_109 = xi_107 * xi_108 * xi_96; - const double xi_131 = xi_99 * 0.11904761904761904; - const double xi_134 = pow(xi_95 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5); - const double xi_135 = xi_134 * 0.5; - const double xi_136 = xi_133 * xi_135; - const double xi_152 = pow(xi_95 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5); - const double xi_153 = xi_152 * 1.4142135623730951; - const double xi_154 = xi_153 * 0.5; - const double xi_163 = xi_104 * xi_152; - const double xi_164 = xi_163 * 0.16666666666666666; - const double xi_165 = xi_162 * xi_164; - const double xi_166 = xi_161 + xi_165; - const double xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const double xi_169 = xi_102 * 0.10000000000000001; - const double xi_175 = xi_134 * xi_173 * xi_174; - const double xi_176 = xi_175 * 0.16666666666666666; - const double xi_184 = xi_109 * 0.071428571428571425; - const double xi_193 = xi_164 * xi_192; - const double xi_194 = xi_191 + xi_193; - const double xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const double xi_197 = xi_109 * 0.042857142857142858; - const double xi_204 = xi_164 * xi_203; - const double xi_205 = xi_202 + xi_204; - const double xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const double xi_207 = xi_133 * xi_134 * 0.25; - const double xi_210 = xi_99 * 0.083333333333333329; - const double xi_214 = -xi_191 - xi_193; - const double xi_215 = xi_135 * (random_1_0 - 0.5); - const double xi_222 = xi_135 * (random_2_0 - 0.5); - const double xi_228 = xi_163 * 0.083333333333333329; - const double xi_229 = xi_162 * xi_228; - const double xi_230 = xi_153 * 0.25; - const double xi_231 = xi_151 * xi_230; - const double xi_235 = xi_203 * xi_228; - const double xi_236 = xi_200 * xi_230; - const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const double xi_239 = xi_109 * 0.014285714285714285; - const double xi_241 = xi_99 * 0.023809523809523808; - const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const double xi_246 = -xi_207; - const double xi_249 = xi_109 * 0.035714285714285712; - const double xi_251 = xi_135 * (random_1_1 - 0.5); - const double xi_256 = xi_188 * xi_230; - const double xi_257 = xi_192 * xi_228; - const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const double xi_0 = ((1.0) / (rho)); - const double xi_10 = xi_0 * 0.5; - const double u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_28 = xi_17 * 0.16666666666666666; - const double xi_29 = -xi_28; - const double xi_30 = xi_17 * 0.083333333333333329; - const double xi_31 = omega_shear * xi_30 + xi_29; - const double xi_48 = xi_17 * xi_47 + xi_29; - const double xi_49 = xi_34 - xi_46 + xi_48; - const double xi_52 = xi_17 * xi_51; - const double xi_59 = u_0 * xi_58; - const double xi_64 = u_0 * xi_63; - const double xi_68 = -xi_34 + xi_46 + xi_48; - const double xi_75 = omega_shear * u_0 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_86 = xi_85 * 0.25; - const double xi_89 = xi_62 * xi_85; - const double xi_111 = u_0 * u_0; - const double u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_26 = xi_18 * 0.16666666666666666; - const double xi_36 = omega_shear * u_1 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const double xi_42 = -xi_26; - const double xi_43 = xi_18 * 0.083333333333333329; - const double xi_53 = xi_18 * xi_51; - const double xi_60 = u_1 * 0.25; - const double xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_65 = u_1 * xi_62; - const double xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const double xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_110 = rho * (u_1 * u_1); - const double xi_117 = -xi_110; - const double xi_216 = rho * u_1; - const double xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const double xi_219 = -xi_215 - xi_218; - const double xi_220 = xi_215 + xi_218; - const double u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_24 = xi_19 * 0.16666666666666666; - const double xi_25 = -xi_24; - const double xi_27 = xi_19 * 0.083333333333333329; - const double xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331 + xi_25 + xi_31; - const double xi_37 = omega_shear * u_2 * -0.083333333333333329 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const double xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const double xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331 + xi_31 + xi_42; - const double xi_54 = xi_19 * xi_51; - const double xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const double xi_56 = -xi_22 + xi_50 + xi_55; - const double xi_57 = xi_27 + xi_37 + xi_56; - const double xi_70 = xi_22 - xi_50 + xi_55; - const double xi_71 = xi_27 + xi_37 + xi_70; - const double xi_73 = xi_19 * xi_47 + xi_25; - const double xi_74 = -xi_40 + xi_72 + xi_73; - const double xi_76 = xi_30 + xi_56 + xi_75; - const double xi_78 = u_2 * xi_58; - const double xi_80 = u_2 * xi_63; - const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const double xi_82 = xi_30 + xi_70 + xi_75; - const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const double xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const double xi_88 = xi_87 * 0.25; - const double xi_90 = xi_62 * xi_87; - const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const double xi_93 = xi_40 - xi_72 + xi_73; - const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const double xi_113 = rho * (u_2 * u_2); - const double xi_114 = xi_112 + xi_113 * 0.66666666666666663 + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const double xi_115 = rho * xi_111 * 1.6666666666666667 + xi_110 * 0.66666666666666663 + xi_114 - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_116 = omega_even * xi_115; - const double xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const double xi_120 = omega_bulk * xi_119; - const double xi_122 = xi_110 * 2.3333333333333335 + xi_114 + xi_121 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const double xi_123 = omega_even * xi_122; - const double xi_127 = xi_112 + xi_113 * 3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const double xi_128 = omega_even * xi_127; - const double xi_130 = xi_128 * 0.01984126984126984; - const double xi_132 = xi_130 + xi_131; - const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const double xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const double xi_143 = xi_142 * 0.125; - const double xi_144 = -xi_136 - xi_143; - const double xi_168 = xi_116 * 0.050000000000000003; - const double xi_170 = rho * xi_111 * 2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0 * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const double xi_171 = omega_shear * xi_170; - const double xi_172 = xi_171 * 0.041666666666666664; - const double xi_177 = xi_172 + xi_176; - const double xi_178 = xi_168 + xi_169 + xi_177; - const double xi_179 = -xi_130 - xi_131; - const double xi_180 = xi_136 + xi_143; - const double xi_181 = -xi_172 - xi_176; - const double xi_182 = -xi_168 - xi_169 + xi_181; - const double xi_183 = xi_123 * 0.035714285714285712; - const double xi_196 = xi_123 * 0.021428571428571429; - const double xi_208 = xi_142 * 0.0625; - const double xi_209 = xi_128 * 0.013888888888888888; - const double xi_211 = xi_106 * 0.083333333333333329 + xi_120 * 0.041666666666666664; - const double xi_212 = xi_171 * 0.020833333333333332 + xi_175 * 0.083333333333333329 + xi_211; - const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const double xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const double xi_238 = xi_123 * 0.0071428571428571426; - const double xi_240 = xi_128 * 0.003968253968253968; - const double xi_242 = -xi_240 - xi_241; - const double xi_243 = xi_102 * 0.050000000000000003 + xi_116 * 0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const double xi_245 = omega_bulk * xi_119 * -0.041666666666666664 + omega_even * xi_115 * -0.025000000000000001 + xi_100 * xi_101 * xi_96 * -0.050000000000000003 + xi_103 * xi_104 * xi_105 * -0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const double xi_247 = -xi_208; - const double xi_248 = xi_123 * 0.017857142857142856; - const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const double xi_253 = -xi_251 - xi_252; - const double xi_259 = xi_251 + xi_252; - const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const double forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const double forceTerm_1 = xi_21 - xi_23 + xi_32; - const double forceTerm_2 = -xi_21 + xi_23 + xi_32; - const double forceTerm_3 = -xi_33 + xi_35 - xi_38; - const double forceTerm_4 = xi_33 - xi_35 - xi_38; - const double forceTerm_5 = xi_39 - xi_41 + xi_44; - const double forceTerm_6 = -xi_39 + xi_41 + xi_44; - const double forceTerm_7 = -xi_49 - xi_57 - xi_67; - const double forceTerm_8 = -xi_57 - xi_68 - xi_69; - const double forceTerm_9 = -xi_49 - xi_69 - xi_71; - const double forceTerm_10 = -xi_67 - xi_68 - xi_71; - const double forceTerm_11 = -xi_74 - xi_76 - xi_81; - const double forceTerm_12 = -xi_74 - xi_82 - xi_83; - const double forceTerm_13 = -xi_49 - xi_84 - xi_91; - const double forceTerm_14 = -xi_68 - xi_84 - xi_92; - const double forceTerm_15 = -xi_76 - xi_83 - xi_93; - const double forceTerm_16 = -xi_81 - xi_82 - xi_93; - const double forceTerm_17 = -xi_49 - xi_92 - xi_94; - const double forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001 - xi_106 + xi_109 * 0.085714285714285715 + xi_116 * 0.10000000000000001 + xi_120 * -0.5 + xi_123 * 0.042857142857142858 + xi_128 * 0.023809523809523808 + xi_99 * 0.14285714285714285 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285 + xi_107 * xi_108 * xi_96 * 0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571 + xi_123 * 0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329 + xi_175 * 0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329 - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - } + } + const double xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const double xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_20 = omega_bulk*0.5; + const double xi_21 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_22 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_33 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_34 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_39 = 0.16666666666666666*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_40 = 0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_47 = omega_shear*0.041666666666666664; + const double xi_51 = omega_bulk*0.041666666666666664; + const double xi_58 = 0.25*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_62 = omega_shear*0.125; + const double xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_97 = 3.7416573867739413; + const double xi_98 = random_6_0 - 0.5; + const double xi_100 = 5.4772255750516612; + const double xi_101 = random_7_0 - 0.5; + const double xi_103 = random_2_1 - 0.5; + const double xi_104 = 2.4494897427831779; + const double xi_107 = 8.3666002653407556; + const double xi_108 = random_6_1 - 0.5; + const double xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double xi_118 = xi_11 + xi_3; + const double xi_121 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_124 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_125 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_126 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_133 = random_0_1 - 0.5; + const double xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const double xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const double xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const double xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_150 = omega_odd*0.25; + const double xi_151 = random_5_1 - 0.5; + const double xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const double xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const double xi_157 = 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const double xi_158 = -2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const double xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_160 = omega_odd*0.083333333333333329; + const double xi_161 = xi_159*xi_160; + const double xi_162 = random_3_0 - 0.5; + const double xi_173 = 1.7320508075688772; + const double xi_174 = random_0_0 - 0.5; + const double xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double xi_186 = xi_138 + xi_185; + const double xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_188 = random_4_1 - 0.5; + const double xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_191 = xi_160*xi_190; + const double xi_192 = random_4_0 - 0.5; + const double xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const double xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const double xi_200 = random_5_0 - 0.5; + const double xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const double xi_202 = xi_160*xi_201; + const double xi_203 = random_3_1 - 0.5; + const double xi_217 = omega_shear*0.25; + const double xi_223 = omega_odd*0.041666666666666664; + const double xi_224 = xi_159*xi_223; + const double xi_226 = omega_odd*0.125; + const double xi_227 = xi_149*xi_226; + const double xi_233 = xi_201*xi_223; + const double xi_234 = xi_199*xi_226; + const double xi_254 = xi_187*xi_226; + const double xi_255 = xi_190*xi_223; + const double rr_0 = 0.0; + const double xi_23 = rr_0*xi_22; + const double xi_35 = rr_0*xi_34; + const double xi_41 = rr_0*xi_40; + const double xi_45 = rr_0*0.041666666666666664; + const double xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const double vel1Term = xi_4 + xi_5; + const double vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const double delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const double rho = delta_rho + 1.0; + const double xi_95 = kT*rho; + const double xi_96 = pow(xi_95*(1.0 - ((-omega_even + 1.0)*(-omega_even + 1.0))), 0.5); + const double xi_99 = xi_96*xi_97*xi_98; + const double xi_102 = xi_100*xi_101*xi_96; + const double xi_105 = pow(xi_95*(1.0 - ((-omega_bulk + 1.0)*(-omega_bulk + 1.0))), 0.5); + const double xi_106 = xi_103*xi_104*xi_105; + const double xi_109 = xi_107*xi_108*xi_96; + const double xi_131 = xi_99*0.11904761904761904; + const double xi_134 = pow(xi_95*(1.0 - ((-omega_shear + 1.0)*(-omega_shear + 1.0))), 0.5); + const double xi_135 = xi_134*0.5; + const double xi_136 = xi_133*xi_135; + const double xi_152 = pow(xi_95*(1.0 - ((-omega_odd + 1.0)*(-omega_odd + 1.0))), 0.5); + const double xi_153 = xi_152*1.4142135623730951; + const double xi_154 = xi_153*0.5; + const double xi_163 = xi_104*xi_152; + const double xi_164 = xi_163*0.16666666666666666; + const double xi_165 = xi_162*xi_164; + const double xi_166 = xi_161 + xi_165; + const double xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const double xi_169 = xi_102*0.10000000000000001; + const double xi_175 = xi_134*xi_173*xi_174; + const double xi_176 = xi_175*0.16666666666666666; + const double xi_184 = xi_109*0.071428571428571425; + const double xi_193 = xi_164*xi_192; + const double xi_194 = xi_191 + xi_193; + const double xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const double xi_197 = xi_109*0.042857142857142858; + const double xi_204 = xi_164*xi_203; + const double xi_205 = xi_202 + xi_204; + const double xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const double xi_207 = xi_133*xi_134*0.25; + const double xi_210 = xi_99*0.083333333333333329; + const double xi_214 = -xi_191 - xi_193; + const double xi_215 = xi_135*(random_1_0 - 0.5); + const double xi_222 = xi_135*(random_2_0 - 0.5); + const double xi_228 = xi_163*0.083333333333333329; + const double xi_229 = xi_162*xi_228; + const double xi_230 = xi_153*0.25; + const double xi_231 = xi_151*xi_230; + const double xi_235 = xi_203*xi_228; + const double xi_236 = xi_200*xi_230; + const double xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const double xi_239 = xi_109*0.014285714285714285; + const double xi_241 = xi_99*0.023809523809523808; + const double xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const double xi_246 = -xi_207; + const double xi_249 = xi_109*0.035714285714285712; + const double xi_251 = xi_135*(random_1_1 - 0.5); + const double xi_256 = xi_188*xi_230; + const double xi_257 = xi_192*xi_228; + const double xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const double xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const double xi_0 = ((1.0) / (rho)); + const double xi_10 = xi_0*0.5; + const double u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_28 = xi_17*0.16666666666666666; + const double xi_29 = -xi_28; + const double xi_30 = xi_17*0.083333333333333329; + const double xi_31 = omega_shear*xi_30 + xi_29; + const double xi_48 = xi_17*xi_47 + xi_29; + const double xi_49 = xi_34 - xi_46 + xi_48; + const double xi_52 = xi_17*xi_51; + const double xi_59 = u_0*xi_58; + const double xi_64 = u_0*xi_63; + const double xi_68 = -xi_34 + xi_46 + xi_48; + const double xi_75 = omega_shear*u_0*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_86 = xi_85*0.25; + const double xi_89 = xi_62*xi_85; + const double xi_111 = u_0*u_0; + const double u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_26 = xi_18*0.16666666666666666; + const double xi_36 = omega_shear*u_1*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const double xi_42 = -xi_26; + const double xi_43 = xi_18*0.083333333333333329; + const double xi_53 = xi_18*xi_51; + const double xi_60 = u_1*0.25; + const double xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_65 = u_1*xi_62; + const double xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const double xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const double xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_110 = rho*(u_1*u_1); + const double xi_117 = -xi_110; + const double xi_216 = rho*u_1; + const double xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const double xi_219 = -xi_215 - xi_218; + const double xi_220 = xi_215 + xi_218; + const double u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_24 = xi_19*0.16666666666666666; + const double xi_25 = -xi_24; + const double xi_27 = xi_19*0.083333333333333329; + const double xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331 + xi_25 + xi_31; + const double xi_37 = omega_shear*u_2*-0.083333333333333329*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const double xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const double xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331 + xi_31 + xi_42; + const double xi_54 = xi_19*xi_51; + const double xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const double xi_56 = -xi_22 + xi_50 + xi_55; + const double xi_57 = xi_27 + xi_37 + xi_56; + const double xi_70 = xi_22 - xi_50 + xi_55; + const double xi_71 = xi_27 + xi_37 + xi_70; + const double xi_73 = xi_19*xi_47 + xi_25; + const double xi_74 = -xi_40 + xi_72 + xi_73; + const double xi_76 = xi_30 + xi_56 + xi_75; + const double xi_78 = u_2*xi_58; + const double xi_80 = u_2*xi_63; + const double xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const double xi_82 = xi_30 + xi_70 + xi_75; + const double xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const double xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const double xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const double xi_88 = xi_87*0.25; + const double xi_90 = xi_62*xi_87; + const double xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const double xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const double xi_93 = xi_40 - xi_72 + xi_73; + const double xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const double xi_113 = rho*(u_2*u_2); + const double xi_114 = xi_112 + xi_113*0.66666666666666663 + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const double xi_115 = rho*xi_111*1.6666666666666667 + xi_110*0.66666666666666663 + xi_114 - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_116 = omega_even*xi_115; + const double xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const double xi_120 = omega_bulk*xi_119; + const double xi_122 = xi_110*2.3333333333333335 + xi_114 + xi_121 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const double xi_123 = omega_even*xi_122; + const double xi_127 = xi_112 + xi_113*3.0 + xi_121 + xi_124 + xi_125 + xi_126 - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const double xi_128 = omega_even*xi_127; + const double xi_130 = xi_128*0.01984126984126984; + const double xi_132 = xi_130 + xi_131; + const double xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const double xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const double xi_143 = xi_142*0.125; + const double xi_144 = -xi_136 - xi_143; + const double xi_168 = xi_116*0.050000000000000003; + const double xi_170 = rho*xi_111*2.0 - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const double xi_171 = omega_shear*xi_170; + const double xi_172 = xi_171*0.041666666666666664; + const double xi_177 = xi_172 + xi_176; + const double xi_178 = xi_168 + xi_169 + xi_177; + const double xi_179 = -xi_130 - xi_131; + const double xi_180 = xi_136 + xi_143; + const double xi_181 = -xi_172 - xi_176; + const double xi_182 = -xi_168 - xi_169 + xi_181; + const double xi_183 = xi_123*0.035714285714285712; + const double xi_196 = xi_123*0.021428571428571429; + const double xi_208 = xi_142*0.0625; + const double xi_209 = xi_128*0.013888888888888888; + const double xi_211 = xi_106*0.083333333333333329 + xi_120*0.041666666666666664; + const double xi_212 = xi_171*0.020833333333333332 + xi_175*0.083333333333333329 + xi_211; + const double xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const double xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const double xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const double xi_238 = xi_123*0.0071428571428571426; + const double xi_240 = xi_128*0.003968253968253968; + const double xi_242 = -xi_240 - xi_241; + const double xi_243 = xi_102*0.050000000000000003 + xi_116*0.025000000000000001 + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const double xi_245 = omega_bulk*xi_119*-0.041666666666666664 + omega_even*xi_115*-0.025000000000000001 + xi_100*xi_101*xi_96*-0.050000000000000003 + xi_103*xi_104*xi_105*-0.083333333333333329 + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const double xi_247 = -xi_208; + const double xi_248 = xi_123*0.017857142857142856; + const double xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const double xi_253 = -xi_251 - xi_252; + const double xi_259 = xi_251 + xi_252; + const double xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const double xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const double forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const double forceTerm_1 = xi_21 - xi_23 + xi_32; + const double forceTerm_2 = -xi_21 + xi_23 + xi_32; + const double forceTerm_3 = -xi_33 + xi_35 - xi_38; + const double forceTerm_4 = xi_33 - xi_35 - xi_38; + const double forceTerm_5 = xi_39 - xi_41 + xi_44; + const double forceTerm_6 = -xi_39 + xi_41 + xi_44; + const double forceTerm_7 = -xi_49 - xi_57 - xi_67; + const double forceTerm_8 = -xi_57 - xi_68 - xi_69; + const double forceTerm_9 = -xi_49 - xi_69 - xi_71; + const double forceTerm_10 = -xi_67 - xi_68 - xi_71; + const double forceTerm_11 = -xi_74 - xi_76 - xi_81; + const double forceTerm_12 = -xi_74 - xi_82 - xi_83; + const double forceTerm_13 = -xi_49 - xi_84 - xi_91; + const double forceTerm_14 = -xi_68 - xi_84 - xi_92; + const double forceTerm_15 = -xi_76 - xi_83 - xi_93; + const double forceTerm_16 = -xi_81 - xi_82 - xi_93; + const double forceTerm_17 = -xi_49 - xi_92 - xi_94; + const double forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001 - xi_106 + xi_109*0.085714285714285715 + xi_116*0.10000000000000001 + xi_120*-0.5 + xi_123*0.042857142857142858 + xi_128*0.023809523809523808 + xi_99*0.14285714285714285 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285 + xi_107*xi_108*xi_96*0.028571428571428571 - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571 + xi_123*0.014285714285714285 + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329 + xi_175*0.33333333333333331 + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329 - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331 - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872 - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872 + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } +} } -} // namespace internal_streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda -void StreamCollideSweepThermalizedDoublePrecisionCUDA::run(IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto pdfs = block->getData>(pdfsID); - auto force = block->getData>(forceID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; +void StreamCollideSweepThermalizedDoublePrecisionCUDA::run(IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; - auto &time_step = this->time_step_; - auto &block_offset_0 = this->block_offset_0_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda::streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); + auto & block_offset_0 = this->block_offset_0_; + auto & seed = this->seed_; + auto & omega_even = this->omega_even_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda::streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); + } -void StreamCollideSweepThermalizedDoublePrecisionCUDA::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; +void StreamCollideSweepThermalizedDoublePrecisionCUDA::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - auto pdfs = block->getData>(pdfsID); - auto force = block->getData>(forceID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &omega_shear = this->omega_shear_; - auto &kT = this->kT_; - auto &time_step = this->time_step_; - auto &block_offset_0 = this->block_offset_0_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - double *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - double *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - double *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda::streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); + auto & block_offset_0 = this->block_offset_0_; + auto & seed = this->seed_; + auto & omega_even = this->omega_even_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + double * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda::streamcollidesweepthermalizeddoubleprecisioncuda_streamcollidesweepthermalizeddoubleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); + } + + } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp index 1619f88847..2e8de9e69f 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecision.cpp @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepThermalizedSinglePrecision.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepThermalizedSinglePrecision.h" + #include "philox_rand.h" + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,507 +51,527 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_117eb60e8d249794b47e39bf52c9e4fe { -static FUNC_PREFIX void streamcollidesweepthermalizedsingleprecision_streamcollidesweepthermalizedsingleprecision(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step) { +static FUNC_PREFIX void streamcollidesweepthermalizedsingleprecision_streamcollidesweepthermalizedsingleprecision(float * RESTRICT const _data_force, float * RESTRICT const _data_pdfs, float * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const float xi_20 = omega_bulk * 0.5f; - const float xi_47 = omega_shear * 0.041666666666666664f; - const float xi_51 = omega_bulk * 0.041666666666666664f; - const float xi_62 = omega_shear * 0.125f; - const float xi_97 = 3.7416573867739413f; - const float xi_100 = 5.4772255750516612f; - const float xi_104 = 2.4494897427831779f; - const float xi_107 = 8.3666002653407556f; - const float xi_150 = omega_odd * 0.25f; - const float xi_160 = omega_odd * 0.083333333333333329f; - const float xi_173 = 1.7320508075688772f; - const float xi_217 = omega_shear * 0.25f; - const float xi_223 = omega_odd * 0.041666666666666664f; - const float xi_226 = omega_odd * 0.125f; - const float rr_0 = 0.0f; - const float xi_45 = rr_0 * 0.041666666666666664f; + { + const float xi_20 = omega_bulk*0.5f; + const float xi_47 = omega_shear*0.041666666666666664f; + const float xi_51 = omega_bulk*0.041666666666666664f; + const float xi_62 = omega_shear*0.125f; + const float xi_97 = 3.7416573867739413f; + const float xi_100 = 5.4772255750516612f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_150 = omega_odd*0.25f; + const float xi_160 = omega_odd*0.083333333333333329f; + const float xi_173 = 1.7320508075688772f; + const float xi_217 = omega_shear*0.25f; + const float xi_223 = omega_odd*0.041666666666666664f; + const float xi_226 = omega_odd*0.125f; + const float rr_0 = 0.0f; + const float xi_45 = rr_0*0.041666666666666664f; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { - - float random_3_0{}; - float random_3_1{}; - float random_3_2{}; - float random_3_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); - } - - float random_2_0{}; - float random_2_1{}; - float random_2_2{}; - float random_2_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - - float random_1_0{}; - float random_1_1{}; - float random_1_2{}; - float random_1_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } - - float random_0_0{}; - float random_0_1{}; - float random_0_2{}; - float random_0_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const float xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const float xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_58 = 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_98 = random_3_0 - 0.5f; - const float xi_101 = random_3_2 - 0.5f; - const float xi_103 = random_1_1 - 0.5f; - const float xi_108 = random_3_1 - 0.5f; - const float xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float xi_118 = xi_11 + xi_3; - const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_133 = random_0_1 - 0.5f; - const float xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_151 = random_2_3 - 0.5f; - const float xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_161 = xi_159 * xi_160; - const float xi_162 = random_1_2 - 0.5f; - const float xi_174 = random_0_0 - 0.5f; - const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_186 = xi_138 + xi_185; - const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_188 = random_2_1 - 0.5f; - const float xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_191 = xi_160 * xi_190; - const float xi_192 = random_2_0 - 0.5f; - const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_200 = random_2_2 - 0.5f; - const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const float xi_202 = xi_160 * xi_201; - const float xi_203 = random_1_3 - 0.5f; - const float xi_224 = xi_159 * xi_223; - const float xi_227 = xi_149 * xi_226; - const float xi_233 = xi_201 * xi_223; - const float xi_234 = xi_199 * xi_226; - const float xi_254 = xi_187 * xi_226; - const float xi_255 = xi_190 * xi_223; - const float xi_23 = rr_0 * xi_22; - const float xi_35 = rr_0 * xi_34; - const float xi_41 = rr_0 * xi_40; - const float xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float vel1Term = xi_4 + xi_5; - const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float rho = delta_rho + 1.0f; - const float xi_95 = kT * rho; - const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); - const float xi_99 = xi_96 * xi_97 * xi_98; - const float xi_102 = xi_100 * xi_101 * xi_96; - const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); - const float xi_106 = xi_103 * xi_104 * xi_105; - const float xi_109 = xi_107 * xi_108 * xi_96; - const float xi_131 = xi_99 * 0.11904761904761904f; - const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); - const float xi_135 = xi_134 * 0.5f; - const float xi_136 = xi_133 * xi_135; - const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); - const float xi_153 = xi_152 * 1.4142135623730951f; - const float xi_154 = xi_153 * 0.5f; - const float xi_163 = xi_104 * xi_152; - const float xi_164 = xi_163 * 0.16666666666666666f; - const float xi_165 = xi_162 * xi_164; - const float xi_166 = xi_161 + xi_165; - const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const float xi_169 = xi_102 * 0.10000000000000001f; - const float xi_175 = xi_134 * xi_173 * xi_174; - const float xi_176 = xi_175 * 0.16666666666666666f; - const float xi_184 = xi_109 * 0.071428571428571425f; - const float xi_193 = xi_164 * xi_192; - const float xi_194 = xi_191 + xi_193; - const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const float xi_197 = xi_109 * 0.042857142857142858f; - const float xi_204 = xi_164 * xi_203; - const float xi_205 = xi_202 + xi_204; - const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const float xi_207 = xi_133 * xi_134 * 0.25f; - const float xi_210 = xi_99 * 0.083333333333333329f; - const float xi_214 = -xi_191 - xi_193; - const float xi_215 = xi_135 * (random_0_2 - 0.5f); - const float xi_222 = xi_135 * (random_1_0 - 0.5f); - const float xi_228 = xi_163 * 0.083333333333333329f; - const float xi_229 = xi_162 * xi_228; - const float xi_230 = xi_153 * 0.25f; - const float xi_231 = xi_151 * xi_230; - const float xi_235 = xi_203 * xi_228; - const float xi_236 = xi_200 * xi_230; - const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const float xi_239 = xi_109 * 0.014285714285714285f; - const float xi_241 = xi_99 * 0.023809523809523808f; - const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const float xi_246 = -xi_207; - const float xi_249 = xi_109 * 0.035714285714285712f; - const float xi_251 = xi_135 * (random_0_3 - 0.5f); - const float xi_256 = xi_188 * xi_230; - const float xi_257 = xi_192 * xi_228; - const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const float xi_0 = ((1.0f) / (rho)); - const float xi_10 = xi_0 * 0.5f; - const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_28 = xi_17 * 0.16666666666666666f; - const float xi_29 = -xi_28; - const float xi_30 = xi_17 * 0.083333333333333329f; - const float xi_31 = omega_shear * xi_30 + xi_29; - const float xi_48 = xi_17 * xi_47 + xi_29; - const float xi_49 = xi_34 - xi_46 + xi_48; - const float xi_52 = xi_17 * xi_51; - const float xi_59 = u_0 * xi_58; - const float xi_64 = u_0 * xi_63; - const float xi_68 = -xi_34 + xi_46 + xi_48; - const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_86 = xi_85 * 0.25f; - const float xi_89 = xi_62 * xi_85; - const float xi_111 = u_0 * u_0; - const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_26 = xi_18 * 0.16666666666666666f; - const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_42 = -xi_26; - const float xi_43 = xi_18 * 0.083333333333333329f; - const float xi_53 = xi_18 * xi_51; - const float xi_60 = u_1 * 0.25f; - const float xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_65 = u_1 * xi_62; - const float xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const float xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_110 = rho * (u_1 * u_1); - const float xi_117 = -xi_110; - const float xi_216 = rho * u_1; - const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const float xi_219 = -xi_215 - xi_218; - const float xi_220 = xi_215 + xi_218; - const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_24 = xi_19 * 0.16666666666666666f; - const float xi_25 = -xi_24; - const float xi_27 = xi_19 * 0.083333333333333329f; - const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; - const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; - const float xi_54 = xi_19 * xi_51; - const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const float xi_56 = -xi_22 + xi_50 + xi_55; - const float xi_57 = xi_27 + xi_37 + xi_56; - const float xi_70 = xi_22 - xi_50 + xi_55; - const float xi_71 = xi_27 + xi_37 + xi_70; - const float xi_73 = xi_19 * xi_47 + xi_25; - const float xi_74 = -xi_40 + xi_72 + xi_73; - const float xi_76 = xi_30 + xi_56 + xi_75; - const float xi_78 = u_2 * xi_58; - const float xi_80 = u_2 * xi_63; - const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const float xi_82 = xi_30 + xi_70 + xi_75; - const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const float xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_88 = xi_87 * 0.25f; - const float xi_90 = xi_62 * xi_87; - const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const float xi_93 = xi_40 - xi_72 + xi_73; - const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const float xi_113 = rho * (u_2 * u_2); - const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_116 = omega_even * xi_115; - const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const float xi_120 = omega_bulk * xi_119; - const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_123 = omega_even * xi_122; - const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_128 = omega_even * xi_127; - const float xi_130 = xi_128 * 0.01984126984126984f; - const float xi_132 = xi_130 + xi_131; - const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const float xi_143 = xi_142 * 0.125f; - const float xi_144 = -xi_136 - xi_143; - const float xi_168 = xi_116 * 0.050000000000000003f; - const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_171 = omega_shear * xi_170; - const float xi_172 = xi_171 * 0.041666666666666664f; - const float xi_177 = xi_172 + xi_176; - const float xi_178 = xi_168 + xi_169 + xi_177; - const float xi_179 = -xi_130 - xi_131; - const float xi_180 = xi_136 + xi_143; - const float xi_181 = -xi_172 - xi_176; - const float xi_182 = -xi_168 - xi_169 + xi_181; - const float xi_183 = xi_123 * 0.035714285714285712f; - const float xi_196 = xi_123 * 0.021428571428571429f; - const float xi_208 = xi_142 * 0.0625f; - const float xi_209 = xi_128 * 0.013888888888888888f; - const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; - const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; - const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const float xi_238 = xi_123 * 0.0071428571428571426f; - const float xi_240 = xi_128 * 0.003968253968253968f; - const float xi_242 = -xi_240 - xi_241; - const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const float xi_247 = -xi_208; - const float xi_248 = xi_123 * 0.017857142857142856f; - const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const float xi_253 = -xi_251 - xi_252; - const float xi_259 = xi_251 + xi_252; - const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const float forceTerm_1 = xi_21 - xi_23 + xi_32; - const float forceTerm_2 = -xi_21 + xi_23 + xi_32; - const float forceTerm_3 = -xi_33 + xi_35 - xi_38; - const float forceTerm_4 = xi_33 - xi_35 - xi_38; - const float forceTerm_5 = xi_39 - xi_41 + xi_44; - const float forceTerm_6 = -xi_39 + xi_41 + xi_44; - const float forceTerm_7 = -xi_49 - xi_57 - xi_67; - const float forceTerm_8 = -xi_57 - xi_68 - xi_69; - const float forceTerm_9 = -xi_49 - xi_69 - xi_71; - const float forceTerm_10 = -xi_67 - xi_68 - xi_71; - const float forceTerm_11 = -xi_74 - xi_76 - xi_81; - const float forceTerm_12 = -xi_74 - xi_82 - xi_83; - const float forceTerm_13 = -xi_49 - xi_84 - xi_91; - const float forceTerm_14 = -xi_68 - xi_84 - xi_92; - const float forceTerm_15 = -xi_76 - xi_83 - xi_93; - const float forceTerm_16 = -xi_81 - xi_82 - xi_93; - const float forceTerm_17 = -xi_49 - xi_92 - xi_94; - const float forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - } + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + for (int64_t ctr_0 = 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const float xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const float xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_21 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_22 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_33 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_34 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_39 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_40 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_58 = 0.25f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_98 = random_3_0 - 0.5f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_124 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_125 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_126 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_157 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_158 = -2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_161 = xi_159*xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_191 = xi_160*xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160*xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_224 = xi_159*xi_223; + const float xi_227 = xi_149*xi_226; + const float xi_233 = xi_201*xi_223; + const float xi_234 = xi_199*xi_226; + const float xi_254 = xi_187*xi_226; + const float xi_255 = xi_190*xi_223; + const float xi_23 = rr_0*xi_22; + const float xi_35 = rr_0*xi_34; + const float xi_41 = rr_0*xi_40; + const float xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float rho = delta_rho + 1.0f; + const float xi_95 = kT*rho; + const float xi_96 = powf(xi_95*(1.0f - ((-omega_even + 1.0f)*(-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96*xi_97*xi_98; + const float xi_102 = xi_100*xi_101*xi_96; + const float xi_105 = powf(xi_95*(1.0f - ((-omega_bulk + 1.0f)*(-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103*xi_104*xi_105; + const float xi_109 = xi_107*xi_108*xi_96; + const float xi_131 = xi_99*0.11904761904761904f; + const float xi_134 = powf(xi_95*(1.0f - ((-omega_shear + 1.0f)*(-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134*0.5f; + const float xi_136 = xi_133*xi_135; + const float xi_152 = powf(xi_95*(1.0f - ((-omega_odd + 1.0f)*(-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152*1.4142135623730951f; + const float xi_154 = xi_153*0.5f; + const float xi_163 = xi_104*xi_152; + const float xi_164 = xi_163*0.16666666666666666f; + const float xi_165 = xi_162*xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const float xi_169 = xi_102*0.10000000000000001f; + const float xi_175 = xi_134*xi_173*xi_174; + const float xi_176 = xi_175*0.16666666666666666f; + const float xi_184 = xi_109*0.071428571428571425f; + const float xi_193 = xi_164*xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const float xi_197 = xi_109*0.042857142857142858f; + const float xi_204 = xi_164*xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const float xi_207 = xi_133*xi_134*0.25f; + const float xi_210 = xi_99*0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135*(random_0_2 - 0.5f); + const float xi_222 = xi_135*(random_1_0 - 0.5f); + const float xi_228 = xi_163*0.083333333333333329f; + const float xi_229 = xi_162*xi_228; + const float xi_230 = xi_153*0.25f; + const float xi_231 = xi_151*xi_230; + const float xi_235 = xi_203*xi_228; + const float xi_236 = xi_200*xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109*0.014285714285714285f; + const float xi_241 = xi_99*0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109*0.035714285714285712f; + const float xi_251 = xi_135*(random_0_3 - 0.5f); + const float xi_256 = xi_188*xi_230; + const float xi_257 = xi_192*xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0*0.5f; + const float u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_28 = xi_17*0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17*0.083333333333333329f; + const float xi_31 = omega_shear*xi_30 + xi_29; + const float xi_48 = xi_17*xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17*xi_51; + const float xi_59 = u_0*xi_58; + const float xi_64 = u_0*xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear*u_0*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_86 = xi_85*0.25f; + const float xi_89 = xi_62*xi_85; + const float xi_111 = u_0*u_0; + const float u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_26 = xi_18*0.16666666666666666f; + const float xi_36 = omega_shear*u_1*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18*0.083333333333333329f; + const float xi_53 = xi_18*xi_51; + const float xi_60 = u_1*0.25f; + const float xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_65 = u_1*xi_62; + const float xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_110 = rho*(u_1*u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho*u_1; + const float xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_24 = xi_19*0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19*0.083333333333333329f; + const float xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear*u_2*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19*xi_51; + const float xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19*xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2*xi_58; + const float xi_80 = u_2*xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_88 = xi_87*0.25f; + const float xi_90 = xi_62*xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho*(u_2*u_2); + const float xi_114 = xi_112 + xi_113*0.66666666666666663f + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_115 = rho*xi_111*1.6666666666666667f + xi_110*0.66666666666666663f + xi_114 - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_116 = omega_even*xi_115; + const float xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk*xi_119; + const float xi_122 = xi_110*2.3333333333333335f + xi_114 + xi_121 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_123 = omega_even*xi_122; + const float xi_127 = xi_112 + xi_113*3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_128 = omega_even*xi_127; + const float xi_130 = xi_128*0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const float xi_143 = xi_142*0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116*0.050000000000000003f; + const float xi_170 = rho*xi_111*2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_171 = omega_shear*xi_170; + const float xi_172 = xi_171*0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123*0.035714285714285712f; + const float xi_196 = xi_123*0.021428571428571429f; + const float xi_208 = xi_142*0.0625f; + const float xi_209 = xi_128*0.013888888888888888f; + const float xi_211 = xi_106*0.083333333333333329f + xi_120*0.041666666666666664f; + const float xi_212 = xi_171*0.020833333333333332f + xi_175*0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123*0.0071428571428571426f; + const float xi_240 = xi_128*0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102*0.050000000000000003f + xi_116*0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk*xi_119*-0.041666666666666664f + omega_even*xi_115*-0.025000000000000001f + xi_100*xi_101*xi_96*-0.050000000000000003f + xi_103*xi_104*xi_105*-0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123*0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001f - xi_106 + xi_109*0.085714285714285715f + xi_116*0.10000000000000001f + xi_120*-0.5f + xi_123*0.042857142857142858f + xi_128*0.023809523809523808f + xi_99*0.14285714285714285f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285f + xi_107*xi_108*xi_96*0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571f + xi_123*0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329f + xi_175*0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329f - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233f; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } + } } - } - } + } +} } -} // namespace internal_117eb60e8d249794b47e39bf52c9e4fe -void StreamCollideSweepThermalizedSinglePrecision::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; +void StreamCollideSweepThermalizedSinglePrecision::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_117eb60e8d249794b47e39bf52c9e4fe::streamcollidesweepthermalizedsingleprecision_streamcollidesweepthermalizedsingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_117eb60e8d249794b47e39bf52c9e4fe::streamcollidesweepthermalizedsingleprecision_streamcollidesweepthermalizedsingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); + } -void StreamCollideSweepThermalizedSinglePrecision::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; +void StreamCollideSweepThermalizedSinglePrecision::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_117eb60e8d249794b47e39bf52c9e4fe::streamcollidesweepthermalizedsingleprecision_streamcollidesweepthermalizedsingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_117eb60e8d249794b47e39bf52c9e4fe::streamcollidesweepthermalizedsingleprecision_streamcollidesweepthermalizedsingleprecision(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); + } + + } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp index 4f3340bd92..68f367eda1 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionAVX.cpp @@ -19,29 +19,33 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepThermalizedSinglePrecisionAVX.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepThermalizedSinglePrecisionAVX.h" -#include "philox_rand.h" #include +#include "philox_rand.h" + + + #define FUNC_PREFIX -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -49,842 +53,863 @@ using namespace std; namespace walberla { namespace pystencils { + namespace internal_482af0085ade5d86c474548ac4b32084 { -static FUNC_PREFIX void streamcollidesweepthermalizedsingleprecisionavx_streamcollidesweepthermalizedsingleprecisionavx(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step) { +static FUNC_PREFIX void streamcollidesweepthermalizedsingleprecisionavx_streamcollidesweepthermalizedsingleprecisionavx(float * RESTRICT const _data_force, float * RESTRICT const _data_pdfs, float * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step) +{ #ifdef _OPENMP -#pragma omp parallel + #pragma omp parallel #endif - { - const float xi_20 = omega_bulk * 0.5f; - const float xi_47 = omega_shear * 0.041666666666666664f; - const float xi_51 = omega_bulk * 0.041666666666666664f; - const float xi_62 = omega_shear * 0.125f; - const float xi_97 = 3.7416573867739413f; - const float xi_100 = 5.4772255750516612f; - const float xi_104 = 2.4494897427831779f; - const float xi_107 = 8.3666002653407556f; - const float xi_150 = omega_odd * 0.25f; - const float xi_160 = omega_odd * 0.083333333333333329f; - const float xi_173 = 1.7320508075688772f; - const float xi_217 = omega_shear * 0.25f; - const float xi_223 = omega_odd * 0.041666666666666664f; - const float xi_226 = omega_odd * 0.125f; - const float rr_0 = 0.0f; - const float xi_45 = rr_0 * 0.041666666666666664f; + { + const float xi_20 = omega_bulk*0.5f; + const float xi_47 = omega_shear*0.041666666666666664f; + const float xi_51 = omega_bulk*0.041666666666666664f; + const float xi_62 = omega_shear*0.125f; + const float xi_97 = 3.7416573867739413f; + const float xi_100 = 5.4772255750516612f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_150 = omega_odd*0.25f; + const float xi_160 = omega_odd*0.083333333333333329f; + const float xi_173 = 1.7320508075688772f; + const float xi_217 = omega_shear*0.25f; + const float xi_223 = omega_odd*0.041666666666666664f; + const float xi_226 = omega_odd*0.125f; + const float rr_0 = 0.0f; + const float xi_45 = rr_0*0.041666666666666664f; #ifdef _OPENMP -#pragma omp for schedule(static) + #pragma omp for schedule(static) #endif - for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) { - for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) { - { - for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 += 8) { - - __m256 random_3_0{}; - __m256 random_3_1{}; - __m256 random_3_2{}; - __m256 random_3_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + for (int64_t ctr_2 = 1; ctr_2 < _size_force_2 - 1; ctr_2 += 1) + { + for (int64_t ctr_1 = 1; ctr_1 < _size_force_1 - 1; ctr_1 += 1) + { + { + for (int64_t ctr_0 = 1; ctr_0 < (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 += 8) + { + + __m256 random_3_0{}; + __m256 random_3_1{}; + __m256 random_3_2{}; + __m256 random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + __m256 random_2_0{}; + __m256 random_2_1{}; + __m256 random_2_2{}; + __m256 random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + __m256 random_1_0{}; + __m256 random_1_1{}; + __m256 random_1_2{}; + __m256 random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + __m256 random_0_0{}; + __m256 random_0_1{}; + __m256 random_0_2{}; + __m256 random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7,6,5,4,3,2,1,0), _mm256_set_epi32(ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0,ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)),((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const __m256 xi_2 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_3 = _mm256_add_ps(_mm256_add_ps(xi_2,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_4 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_5 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256 xi_6 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_7 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_8 = _mm256_add_ps(xi_7,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_9 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_11 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_12 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_13 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_14 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256 xi_15 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_16 = _mm256_add_ps(_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_21 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_22 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_33 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_34 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_39 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_40 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_58 = _mm256_mul_ps(_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_63 = _mm256_mul_ps(_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_98 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_3_0); + const __m256 xi_101 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_3_2); + const __m256 xi_103 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_1); + const __m256 xi_108 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_3_1); + const __m256 xi_112 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_load_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])); + const __m256 xi_118 = _mm256_add_ps(xi_11,xi_3); + const __m256 xi_121 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256 xi_124 = _mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_125 = _mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_126 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + const __m256 xi_129 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256 xi_133 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_1); + const __m256 xi_137 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_138 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_139 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])); + const __m256 xi_140 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256 xi_145 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])); + const __m256 xi_146 = _mm256_add_ps(xi_14,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_147 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0])); + const __m256 xi_148 = _mm256_add_ps(xi_147,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])); + const __m256 xi_149 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_145,xi_146),xi_148),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_151 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_3); + const __m256 xi_155 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0])); + const __m256 xi_156 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0])); + const __m256 xi_157 = _mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_158 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1])),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + const __m256 xi_159 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(xi_157,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_148),xi_155),xi_156),xi_158),xi_5); + const __m256 xi_161 = _mm256_mul_ps(xi_159,_mm256_set_ps(xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160)); + const __m256 xi_162 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_2); + const __m256 xi_174 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_0); + const __m256 xi_185 = _mm256_add_ps(xi_15,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_186 = _mm256_add_ps(xi_138,xi_185); + const __m256 xi_187 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1])),xi_186),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_188 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_1); + const __m256 xi_189 = _mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 xi_190 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(xi_157,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_158,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_186,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_189,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_7,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_191 = _mm256_mul_ps(xi_190,_mm256_set_ps(xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160)); + const __m256 xi_192 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_0); + const __m256 xi_198 = _mm256_add_ps(_mm256_add_ps(xi_145,xi_155),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])); + const __m256 xi_199 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_198,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))); + const __m256 xi_200 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_2_2); + const __m256 xi_201 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_124,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_125,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_126),xi_140),xi_198),xi_6); + const __m256 xi_202 = _mm256_mul_ps(xi_201,_mm256_set_ps(xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160,xi_160)); + const __m256 xi_203 = _mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_3); + const __m256 xi_224 = _mm256_mul_ps(xi_159,_mm256_set_ps(xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223)); + const __m256 xi_227 = _mm256_mul_ps(xi_149,_mm256_set_ps(xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226)); + const __m256 xi_233 = _mm256_mul_ps(xi_201,_mm256_set_ps(xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223)); + const __m256 xi_234 = _mm256_mul_ps(xi_199,_mm256_set_ps(xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226)); + const __m256 xi_254 = _mm256_mul_ps(xi_187,_mm256_set_ps(xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226,xi_226)); + const __m256 xi_255 = _mm256_mul_ps(xi_190,_mm256_set_ps(xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223,xi_223)); + const __m256 xi_23 = _mm256_mul_ps(xi_22,_mm256_set_ps(rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0)); + const __m256 xi_35 = _mm256_mul_ps(xi_34,_mm256_set_ps(rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0)); + const __m256 xi_41 = _mm256_mul_ps(xi_40,_mm256_set_ps(rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0,rr_0)); + const __m256 xi_46 = _mm256_mul_ps(_mm256_set_ps(xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_50 = _mm256_mul_ps(_mm256_set_ps(xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_72 = _mm256_mul_ps(_mm256_set_ps(xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45,xi_45),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 vel0Term = _mm256_add_ps(xi_3,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1])); + const __m256 vel1Term = _mm256_add_ps(xi_4,xi_5); + const __m256 vel2Term = _mm256_add_ps(xi_6,_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 delta_rho = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(vel0Term,vel1Term),vel2Term),xi_8),xi_9),_mm256_load_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0])),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0])); + const __m256 rho = _mm256_add_ps(_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f),delta_rho); + const __m256 xi_95 = _mm256_mul_ps(rho,_mm256_set_ps(kT,kT,kT,kT,kT,kT,kT,kT)); + const __m256 xi_96 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_99 = _mm256_mul_ps(_mm256_mul_ps(xi_96,xi_98),_mm256_set_ps(xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97)); + const __m256 xi_102 = _mm256_mul_ps(_mm256_mul_ps(xi_101,xi_96),_mm256_set_ps(xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100)); + const __m256 xi_105 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_106 = _mm256_mul_ps(_mm256_mul_ps(xi_103,xi_105),_mm256_set_ps(xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104)); + const __m256 xi_109 = _mm256_mul_ps(_mm256_mul_ps(xi_108,xi_96),_mm256_set_ps(xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107)); + const __m256 xi_131 = _mm256_mul_ps(xi_99,_mm256_set_ps(0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f,0.11904761904761904f)); + const __m256 xi_134 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_135 = _mm256_mul_ps(xi_134,_mm256_set_ps(0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f)); + const __m256 xi_136 = _mm256_mul_ps(xi_133,xi_135); + const __m256 xi_152 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95,_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)),_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_set_ps(omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd,omega_odd)),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))),_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f)))); + const __m256 xi_153 = _mm256_mul_ps(xi_152,_mm256_set_ps(1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f,1.4142135623730951f)); + const __m256 xi_154 = _mm256_mul_ps(xi_153,_mm256_set_ps(0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f)); + const __m256 xi_163 = _mm256_mul_ps(xi_152,_mm256_set_ps(xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104)); + const __m256 xi_164 = _mm256_mul_ps(xi_163,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_165 = _mm256_mul_ps(xi_162,xi_164); + const __m256 xi_166 = _mm256_add_ps(xi_161,xi_165); + const __m256 xi_167 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_149,_mm256_set_ps(xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150)),_mm256_mul_ps(xi_151,xi_154)),xi_166); + const __m256 xi_169 = _mm256_mul_ps(xi_102,_mm256_set_ps(0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f)); + const __m256 xi_175 = _mm256_mul_ps(_mm256_mul_ps(xi_134,xi_174),_mm256_set_ps(xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173)); + const __m256 xi_176 = _mm256_mul_ps(xi_175,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_184 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f,0.071428571428571425f)); + const __m256 xi_193 = _mm256_mul_ps(xi_164,xi_192); + const __m256 xi_194 = _mm256_add_ps(xi_191,xi_193); + const __m256 xi_195 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_187,_mm256_set_ps(xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150)),_mm256_mul_ps(xi_154,xi_188)),xi_194); + const __m256 xi_197 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f)); + const __m256 xi_204 = _mm256_mul_ps(xi_164,xi_203); + const __m256 xi_205 = _mm256_add_ps(xi_202,xi_204); + const __m256 xi_206 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_199,_mm256_set_ps(xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150,xi_150)),_mm256_mul_ps(xi_154,xi_200)),xi_205); + const __m256 xi_207 = _mm256_mul_ps(_mm256_mul_ps(xi_133,xi_134),_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_210 = _mm256_mul_ps(xi_99,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_214 = _mm256_add_ps(_mm256_mul_ps(xi_191,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_193,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_215 = _mm256_mul_ps(xi_135,_mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_2)); + const __m256 xi_222 = _mm256_mul_ps(xi_135,_mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_1_0)); + const __m256 xi_228 = _mm256_mul_ps(xi_163,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_229 = _mm256_mul_ps(xi_162,xi_228); + const __m256 xi_230 = _mm256_mul_ps(xi_153,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_231 = _mm256_mul_ps(xi_151,xi_230); + const __m256 xi_235 = _mm256_mul_ps(xi_203,xi_228); + const __m256 xi_236 = _mm256_mul_ps(xi_200,xi_230); + const __m256 xi_237 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_233,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_235,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_234),xi_236); + const __m256 xi_239 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f)); + const __m256 xi_241 = _mm256_mul_ps(xi_99,_mm256_set_ps(0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f)); + const __m256 xi_244 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_234,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_236,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_233),xi_235); + const __m256 xi_246 = _mm256_mul_ps(xi_207,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_249 = _mm256_mul_ps(xi_109,_mm256_set_ps(0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f)); + const __m256 xi_251 = _mm256_mul_ps(xi_135,_mm256_add_ps(_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f),random_0_3)); + const __m256 xi_256 = _mm256_mul_ps(xi_188,xi_230); + const __m256 xi_257 = _mm256_mul_ps(xi_192,xi_228); + const __m256 xi_258 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_254,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_256,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_255),xi_257); + const __m256 xi_260 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_255,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_257,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_254),xi_256); + const __m256 xi_0 = _mm256_div_ps(_mm256_set_ps(1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f,1.0f),rho); + const __m256 xi_10 = _mm256_mul_ps(xi_0,_mm256_set_ps(0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f,0.5f)); + const __m256 u_0 = _mm256_add_ps(_mm256_mul_ps(xi_0,_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_11,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_8,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),vel0Term)),_mm256_mul_ps(xi_10,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))); + const __m256 xi_17 = _mm256_mul_ps(u_0,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_28 = _mm256_mul_ps(xi_17,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_29 = _mm256_mul_ps(xi_28,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_30 = _mm256_mul_ps(xi_17,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_31 = _mm256_add_ps(_mm256_mul_ps(xi_30,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),xi_29); + const __m256 xi_48 = _mm256_add_ps(_mm256_mul_ps(xi_17,_mm256_set_ps(xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47)),xi_29); + const __m256 xi_49 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_46,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_34),xi_48); + const __m256 xi_52 = _mm256_mul_ps(xi_17,_mm256_set_ps(xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51)); + const __m256 xi_59 = _mm256_mul_ps(u_0,xi_58); + const __m256 xi_64 = _mm256_mul_ps(u_0,xi_63); + const __m256 xi_68 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_34,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_46),xi_48); + const __m256 xi_75 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0,_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_85 = _mm256_mul_ps(u_0,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_86 = _mm256_mul_ps(xi_85,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_89 = _mm256_mul_ps(xi_85,_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62)); + const __m256 xi_111 = _mm256_mul_ps(u_0,u_0); + const __m256 u_1 = _mm256_add_ps(_mm256_mul_ps(xi_0,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_12,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_13,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_9,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),vel1Term)),_mm256_mul_ps(xi_10,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]))); + const __m256 xi_18 = _mm256_mul_ps(u_1,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_26 = _mm256_mul_ps(xi_18,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_36 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1,_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0])); + const __m256 xi_42 = _mm256_mul_ps(xi_26,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_43 = _mm256_mul_ps(xi_18,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_53 = _mm256_mul_ps(xi_18,_mm256_set_ps(xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51)); + const __m256 xi_60 = _mm256_mul_ps(u_1,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_61 = _mm256_mul_ps(xi_60,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_65 = _mm256_mul_ps(u_1,_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62)); + const __m256 xi_66 = _mm256_mul_ps(xi_65,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_67 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_64,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_66,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_59),xi_61); + const __m256 xi_69 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_59,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_61,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_64),xi_66); + const __m256 xi_77 = _mm256_mul_ps(xi_60,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_79 = _mm256_mul_ps(xi_65,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_110 = _mm256_mul_ps(rho,_mm256_mul_ps(u_1,u_1)); + const __m256 xi_117 = _mm256_mul_ps(xi_110,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_216 = _mm256_mul_ps(rho,u_1); + const __m256 xi_218 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])),_mm256_mul_ps(u_0,xi_216)),xi_12),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_ps(xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217)); + const __m256 xi_219 = _mm256_add_ps(_mm256_mul_ps(xi_215,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_218,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_220 = _mm256_add_ps(xi_215,xi_218); + const __m256 u_2 = _mm256_add_ps(_mm256_mul_ps(xi_0,_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_14,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_15,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_16,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),vel2Term)),_mm256_mul_ps(xi_10,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]))); + const __m256 xi_19 = _mm256_mul_ps(u_2,_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_24 = _mm256_mul_ps(xi_19,_mm256_set_ps(0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f,0.16666666666666666f)); + const __m256 xi_25 = _mm256_mul_ps(xi_24,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_27 = _mm256_mul_ps(xi_19,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)); + const __m256 xi_32 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18,_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f)),_mm256_mul_ps(xi_27,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_ps(_mm256_mul_ps(xi_26,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),xi_25),xi_31); + const __m256 xi_37 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2,_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_loadu_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0])); + const __m256 xi_38 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_28,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)),_mm256_mul_ps(_mm256_mul_ps(u_0,_mm256_set_ps(-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f,-0.33333333333333331f)),_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]))),xi_24),xi_26),xi_36),xi_37); + const __m256 xi_44 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_19,_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f)),_mm256_mul_ps(xi_43,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_ps(_mm256_mul_ps(xi_24,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),xi_31),xi_42); + const __m256 xi_54 = _mm256_mul_ps(xi_19,_mm256_set_ps(xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51,xi_51)); + const __m256 xi_55 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18,_mm256_set_ps(xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47)),xi_42),xi_52),xi_53),xi_54); + const __m256 xi_56 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_22,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_50),xi_55); + const __m256 xi_57 = _mm256_add_ps(_mm256_add_ps(xi_27,xi_37),xi_56); + const __m256 xi_70 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_50,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_22),xi_55); + const __m256 xi_71 = _mm256_add_ps(_mm256_add_ps(xi_27,xi_37),xi_70); + const __m256 xi_73 = _mm256_add_ps(_mm256_mul_ps(xi_19,_mm256_set_ps(xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47,xi_47)),xi_25); + const __m256 xi_74 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_40,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_72),xi_73); + const __m256 xi_76 = _mm256_add_ps(_mm256_add_ps(xi_30,xi_56),xi_75); + const __m256 xi_78 = _mm256_mul_ps(u_2,xi_58); + const __m256 xi_80 = _mm256_mul_ps(u_2,xi_63); + const __m256 xi_81 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_77,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_78,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_79),xi_80); + const __m256 xi_82 = _mm256_add_ps(_mm256_add_ps(xi_30,xi_70),xi_75); + const __m256 xi_83 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_79,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_80,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_77),xi_78); + const __m256 xi_84 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36,xi_43),xi_52),xi_53),xi_54),xi_74); + const __m256 xi_87 = _mm256_mul_ps(u_2,_mm256_load_ps(& _data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0])); + const __m256 xi_88 = _mm256_mul_ps(xi_87,_mm256_set_ps(0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f,0.25f)); + const __m256 xi_90 = _mm256_mul_ps(xi_87,_mm256_set_ps(xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62,xi_62)); + const __m256 xi_91 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_89,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_90,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_86),xi_88); + const __m256 xi_92 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_86,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_88,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_89),xi_90); + const __m256 xi_93 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_72,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_40),xi_73); + const __m256 xi_94 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36,xi_43),xi_52),xi_53),xi_54),xi_93); + const __m256 xi_113 = _mm256_mul_ps(rho,_mm256_mul_ps(u_2,u_2)); + const __m256 xi_114 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(xi_113,_mm256_set_ps(0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f))),xi_112); + const __m256 xi_115 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(xi_110,_mm256_set_ps(0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f,0.66666666666666663f))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f,-3.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_mul_ps(rho,xi_111),_mm256_set_ps(1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f,1.6666666666666667f))),xi_114); + const __m256 xi_116 = _mm256_mul_ps(xi_115,_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)); + const __m256 xi_119 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_112,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_117,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_118,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_13,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_16,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_5,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(rho,xi_111)),xi_113); + const __m256 xi_120 = _mm256_mul_ps(xi_119,_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk)); + const __m256 xi_122 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_110,_mm256_set_ps(2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f,2.3333333333333335f)),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_set_ps(-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f,-5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))),xi_114),xi_121); + const __m256 xi_123 = _mm256_mul_ps(xi_122,_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)); + const __m256 xi_127 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_113,_mm256_set_ps(3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f,3.0f)),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f,5.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f,-4.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_set_ps(-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f,-7.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))),xi_112),xi_121),xi_124),xi_125),xi_126); + const __m256 xi_128 = _mm256_mul_ps(xi_127,_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)); + const __m256 xi_130 = _mm256_mul_ps(xi_128,_mm256_set_ps(0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f,0.01984126984126984f)); + const __m256 xi_132 = _mm256_add_ps(xi_130,xi_131); + const __m256 xi_141 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_113,xi_139),xi_140),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1])); + const __m256 xi_142 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_117,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_137,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_138,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_141,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_15,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_2,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_4,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1])),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256 xi_143 = _mm256_mul_ps(xi_142,_mm256_set_ps(0.125f,0.125f,0.125f,0.125f,0.125f,0.125f,0.125f,0.125f)); + const __m256 xi_144 = _mm256_add_ps(_mm256_mul_ps(xi_136,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_143,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_168 = _mm256_mul_ps(xi_116,_mm256_set_ps(0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f)); + const __m256 xi_170 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0])),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))),_mm256_mul_ps(xi_110,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_118,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_129,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_141,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_147,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))),_mm256_mul_ps(_mm256_set_ps(-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f,-2.0f),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]))),_mm256_mul_ps(_mm256_mul_ps(rho,xi_111),_mm256_set_ps(2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f,2.0f))); + const __m256 xi_171 = _mm256_mul_ps(xi_170,_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear)); + const __m256 xi_172 = _mm256_mul_ps(xi_171,_mm256_set_ps(0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f)); + const __m256 xi_177 = _mm256_add_ps(xi_172,xi_176); + const __m256 xi_178 = _mm256_add_ps(_mm256_add_ps(xi_168,xi_169),xi_177); + const __m256 xi_179 = _mm256_add_ps(_mm256_mul_ps(xi_130,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_131,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_180 = _mm256_add_ps(xi_136,xi_143); + const __m256 xi_181 = _mm256_add_ps(_mm256_mul_ps(xi_172,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_176,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_182 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_168,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_169,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_181); + const __m256 xi_183 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f,0.035714285714285712f)); + const __m256 xi_196 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f,0.021428571428571429f)); + const __m256 xi_208 = _mm256_mul_ps(xi_142,_mm256_set_ps(0.0625f,0.0625f,0.0625f,0.0625f,0.0625f,0.0625f,0.0625f,0.0625f)); + const __m256 xi_209 = _mm256_mul_ps(xi_128,_mm256_set_ps(0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f,0.013888888888888888f)); + const __m256 xi_211 = _mm256_add_ps(_mm256_mul_ps(xi_120,_mm256_set_ps(0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f,0.041666666666666664f)),_mm256_mul_ps(xi_106,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f))); + const __m256 xi_212 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171,_mm256_set_ps(0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f,0.020833333333333332f)),_mm256_mul_ps(xi_175,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f))),xi_211); + const __m256 xi_213 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_166,xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256 xi_221 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_161,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_165,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_207),xi_208),xi_209),xi_210),xi_212); + const __m256 xi_225 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(u_2,xi_216),xi_146),xi_155),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0])),_mm256_set_ps(xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217)); + const __m256 xi_232 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_224,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_229,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_222),xi_225),xi_227),xi_231); + const __m256 xi_238 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f,0.0071428571428571426f)); + const __m256 xi_240 = _mm256_mul_ps(xi_128,_mm256_set_ps(0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f,0.003968253968253968f)); + const __m256 xi_242 = _mm256_add_ps(_mm256_mul_ps(xi_240,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_241,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_243 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_116,_mm256_set_ps(0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f,0.025000000000000001f)),_mm256_mul_ps(xi_102,_mm256_set_ps(0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f,0.050000000000000003f))),_mm256_mul_ps(xi_238,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_239,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_181),xi_211),xi_242); + const __m256 xi_245 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(xi_115,_mm256_set_ps(-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f,-0.025000000000000001f)),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even)),_mm256_mul_ps(_mm256_mul_ps(xi_119,_mm256_set_ps(-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f,-0.041666666666666664f)),_mm256_set_ps(omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk,omega_bulk))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_101,xi_96),_mm256_set_ps(-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f,-0.050000000000000003f)),_mm256_set_ps(xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100,xi_100))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_103,xi_105),_mm256_set_ps(-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f,-0.083333333333333329f)),_mm256_set_ps(xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104,xi_104))),xi_177),xi_238),xi_239),xi_240),xi_241); + const __m256 xi_247 = _mm256_mul_ps(xi_208,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)); + const __m256 xi_248 = _mm256_mul_ps(xi_123,_mm256_set_ps(0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f,0.017857142857142856f)); + const __m256 xi_250 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_205,xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256 xi_252 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(rho,u_0),u_2),xi_137),xi_185),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1])),_mm256_set_ps(xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217,xi_217)); + const __m256 xi_253 = _mm256_add_ps(_mm256_mul_ps(xi_251,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_252,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 xi_259 = _mm256_add_ps(xi_251,xi_252); + const __m256 xi_261 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_227,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_231,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_222),xi_224),xi_225),xi_229); + const __m256 xi_262 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_202,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_204,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_212),xi_242),xi_246),xi_247),xi_248),xi_249); + const __m256 forceTerm_0 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_17,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_18,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_19,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_17,_mm256_set_ps(xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20))),_mm256_mul_ps(xi_18,_mm256_set_ps(xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20))),_mm256_mul_ps(xi_19,_mm256_set_ps(xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20,xi_20))); + const __m256 forceTerm_1 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_23,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_21),xi_32); + const __m256 forceTerm_2 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_21,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_23),xi_32); + const __m256 forceTerm_3 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_33,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_38,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_35); + const __m256 forceTerm_4 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_35,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_38,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),xi_33); + const __m256 forceTerm_5 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_41,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_39),xi_44); + const __m256 forceTerm_6 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_39,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),xi_41),xi_44); + const __m256 forceTerm_7 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_57,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_67,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_8 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_57,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_69,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_9 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_69,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_71,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_10 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_67,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_71,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_11 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_76,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_81,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_12 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_82,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_83,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_13 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_84,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_91,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_14 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_84,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_92,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_15 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_76,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_83,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_93,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_16 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_81,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_82,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_93,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_17 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_92,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_94,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + const __m256 forceTerm_18 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_91,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_94,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128,_mm256_set_ps(0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f,0.023809523809523808f)),_mm256_mul_ps(xi_99,_mm256_set_ps(0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f,0.14285714285714285f))),_mm256_mul_ps(xi_123,_mm256_set_ps(0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f,0.042857142857142858f))),_mm256_mul_ps(xi_109,_mm256_set_ps(0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f,0.085714285714285715f))),_mm256_mul_ps(xi_116,_mm256_set_ps(0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f,0.10000000000000001f))),_mm256_mul_ps(xi_102,_mm256_set_ps(0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f,0.20000000000000001f))),_mm256_mul_ps(xi_120,_mm256_set_ps(-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f,-0.5f))),_mm256_mul_ps(xi_106,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_0),_mm256_load_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_129,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_132,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_144,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_167,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_178,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_mul_ps(xi_122,_mm256_set_ps(0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f)),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_108,xi_96),_mm256_set_ps(0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f)),_mm256_set_ps(xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107,xi_107))),forceTerm_1)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_123,_mm256_set_ps(0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f,0.014285714285714285f)),_mm256_mul_ps(xi_109,_mm256_set_ps(0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f,0.028571428571428571f))),forceTerm_2),xi_167),xi_179),xi_180),xi_182),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_mul_ps(xi_175,_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f))),_mm256_mul_ps(xi_183,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_184,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_3),xi_179),xi_195),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_132,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_183,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_184,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_189,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_195,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_mul_ps(xi_170,_mm256_set_ps(0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f,0.083333333333333329f)),_mm256_set_ps(omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear,omega_shear))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_134,xi_174),_mm256_set_ps(0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f,0.33333333333333331f)),_mm256_set_ps(xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173,xi_173))),forceTerm_4)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_178,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_180,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_196,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_197,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_206,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(_mm256_mul_ps(xi_127,_mm256_set_ps(0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f)),_mm256_set_ps(omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even,omega_even))),_mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_96,xi_98),_mm256_set_ps(0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f)),_mm256_set_ps(xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97,xi_97))),forceTerm_5)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128,_mm256_set_ps(0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f,0.015873015873015872f)),_mm256_mul_ps(xi_99,_mm256_set_ps(0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f,0.095238095238095233f))),_mm256_mul_ps(xi_196,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_197,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_6),xi_144),xi_182),xi_206),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_7,xi_213),xi_214),xi_219),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_8,xi_194),xi_213),xi_220),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_9,xi_214),xi_220),xi_221),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_10,xi_194),xi_219),xi_221),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_11,xi_232),xi_237),xi_243),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_156,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_232,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_244,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_245,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_12)); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_13,xi_250),xi_253),xi_258),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_14,xi_250),xi_259),xi_260),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_145,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f)),_mm256_mul_ps(xi_237,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_245,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),_mm256_mul_ps(xi_261,_mm256_set_ps(-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f,-1.0f))),forceTerm_15)); + _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_16,xi_243),xi_244),xi_261),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_17,xi_258),xi_259),xi_262),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]))); + _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0],_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_18,xi_253),xi_260),xi_262),_mm256_loadu_ps(& _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]))); + } + for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) + { + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { + philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); + } + const float xi_2 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_4 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_5 = _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const float xi_6 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const float xi_7 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_9 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const float xi_11 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_12 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_13 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const float xi_14 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const float xi_15 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_16 = _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_21 = 0.16666666666666666f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_22 = 0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_33 = 0.16666666666666666f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_34 = 0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_39 = 0.16666666666666666f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_40 = 0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_58 = 0.25f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_63 = xi_62*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_98 = random_3_0 - 0.5f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_124 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_125 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_126 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_129 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_138 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_139 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const float xi_140 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const float xi_145 = -_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const float xi_147 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + const float xi_156 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0]; + const float xi_157 = 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_158 = -2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_161 = xi_159*xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_191 = xi_160*xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160*xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_224 = xi_159*xi_223; + const float xi_227 = xi_149*xi_226; + const float xi_233 = xi_201*xi_223; + const float xi_234 = xi_199*xi_226; + const float xi_254 = xi_187*xi_226; + const float xi_255 = xi_190*xi_223; + const float xi_23 = rr_0*xi_22; + const float xi_35 = rr_0*xi_34; + const float xi_41 = rr_0*xi_40; + const float xi_46 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_50 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_72 = xi_45*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + const float rho = delta_rho + 1.0f; + const float xi_95 = kT*rho; + const float xi_96 = powf(xi_95*(1.0f - ((-omega_even + 1.0f)*(-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96*xi_97*xi_98; + const float xi_102 = xi_100*xi_101*xi_96; + const float xi_105 = powf(xi_95*(1.0f - ((-omega_bulk + 1.0f)*(-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103*xi_104*xi_105; + const float xi_109 = xi_107*xi_108*xi_96; + const float xi_131 = xi_99*0.11904761904761904f; + const float xi_134 = powf(xi_95*(1.0f - ((-omega_shear + 1.0f)*(-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134*0.5f; + const float xi_136 = xi_133*xi_135; + const float xi_152 = powf(xi_95*(1.0f - ((-omega_odd + 1.0f)*(-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152*1.4142135623730951f; + const float xi_154 = xi_153*0.5f; + const float xi_163 = xi_104*xi_152; + const float xi_164 = xi_163*0.16666666666666666f; + const float xi_165 = xi_162*xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const float xi_169 = xi_102*0.10000000000000001f; + const float xi_175 = xi_134*xi_173*xi_174; + const float xi_176 = xi_175*0.16666666666666666f; + const float xi_184 = xi_109*0.071428571428571425f; + const float xi_193 = xi_164*xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const float xi_197 = xi_109*0.042857142857142858f; + const float xi_204 = xi_164*xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const float xi_207 = xi_133*xi_134*0.25f; + const float xi_210 = xi_99*0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135*(random_0_2 - 0.5f); + const float xi_222 = xi_135*(random_1_0 - 0.5f); + const float xi_228 = xi_163*0.083333333333333329f; + const float xi_229 = xi_162*xi_228; + const float xi_230 = xi_153*0.25f; + const float xi_231 = xi_151*xi_230; + const float xi_235 = xi_203*xi_228; + const float xi_236 = xi_200*xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109*0.014285714285714285f; + const float xi_241 = xi_99*0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109*0.035714285714285712f; + const float xi_251 = xi_135*(random_0_3 - 0.5f); + const float xi_256 = xi_188*xi_230; + const float xi_257 = xi_192*xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0*0.5f; + const float u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_17 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_28 = xi_17*0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17*0.083333333333333329f; + const float xi_31 = omega_shear*xi_30 + xi_29; + const float xi_48 = xi_17*xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17*xi_51; + const float xi_59 = u_0*xi_58; + const float xi_64 = u_0*xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear*u_0*-0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_85 = u_0*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_86 = xi_85*0.25f; + const float xi_89 = xi_62*xi_85; + const float xi_111 = (u_0*u_0); + const float u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_18 = u_1*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_26 = xi_18*0.16666666666666666f; + const float xi_36 = omega_shear*u_1*-0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3 + ctr_0]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18*0.083333333333333329f; + const float xi_53 = xi_18*xi_51; + const float xi_60 = u_1*0.25f; + const float xi_61 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_65 = u_1*xi_62; + const float xi_66 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_79 = xi_65*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_110 = rho*(u_1*u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho*u_1; + const float xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]) + xi_10*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_19 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_24 = xi_19*0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19*0.083333333333333329f; + const float xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear*u_2*-0.083333333333333329f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3 + ctr_0]; + const float xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331f*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19*xi_51; + const float xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19*xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2*xi_58; + const float xi_80 = u_2*xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2*_data_force[_stride_force_1*ctr_1 + _stride_force_2*ctr_2 + ctr_0]; + const float xi_88 = xi_87*0.25f; + const float xi_90 = xi_62*xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho*(u_2*u_2); + const float xi_114 = xi_112 + xi_113*0.66666666666666663f + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0]; + const float xi_115 = rho*xi_111*1.6666666666666667f + xi_110*0.66666666666666663f + xi_114 - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] - 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 3.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_116 = omega_even*xi_115; + const float xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk*xi_119; + const float xi_122 = xi_110*2.3333333333333335f + xi_114 + xi_121 - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1] - 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + const float xi_123 = omega_even*xi_122; + const float xi_127 = xi_112 + xi_113*3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0] - 4.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3 + ctr_0] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1] - 7.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + 5.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3 + ctr_0]; + const float xi_128 = omega_even*xi_127; + const float xi_130 = xi_128*0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]); + const float xi_143 = xi_142*0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116*0.050000000000000003f; + const float xi_170 = rho*xi_111*2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1] - 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3 + ctr_0 - 1] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0] + 2.0f*_data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + const float xi_171 = omega_shear*xi_170; + const float xi_172 = xi_171*0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123*0.035714285714285712f; + const float xi_196 = xi_123*0.021428571428571429f; + const float xi_208 = xi_142*0.0625f; + const float xi_209 = xi_128*0.013888888888888888f; + const float xi_211 = xi_106*0.083333333333333329f + xi_120*0.041666666666666664f; + const float xi_212 = xi_171*0.020833333333333332f + xi_175*0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3 + ctr_0]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123*0.0071428571428571426f; + const float xi_240 = xi_128*0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102*0.050000000000000003f + xi_116*0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk*xi_119*-0.041666666666666664f + omega_even*xi_115*-0.025000000000000001f + xi_100*xi_101*xi_96*-0.050000000000000003f + xi_103*xi_104*xi_105*-0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123*0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + ctr_0] = forceTerm_0 + xi_102*0.20000000000000001f - xi_106 + xi_109*0.085714285714285715f + xi_116*0.10000000000000001f + xi_120*-0.5f + xi_123*0.042857142857142858f + xi_128*0.023809523809523808f + xi_99*0.14285714285714285f + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even*xi_122*0.014285714285714285f + xi_107*xi_108*xi_96*0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109*0.028571428571428571f + xi_123*0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171*0.083333333333333329f + xi_175*0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329f - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even*xi_127*0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233f; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128*0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233f + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3 + ctr_0 - 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3 + ctr_0]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3 + ctr_0 + 1]; + _data_pdfs_tmp[_stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3 + ctr_0 - 1]; + } } + } + } + } +} +} - __m256 random_2_0{}; - __m256 random_2_1{}; - __m256 random_2_2{}; - __m256 random_2_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - __m256 random_1_0{}; - __m256 random_1_1{}; - __m256 random_1_2{}; - __m256 random_1_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } +void StreamCollideSweepThermalizedSinglePrecisionAVX::run(IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } + } - __m256 random_0_0{}; - __m256 random_0_1{}; - __m256 random_0_2{}; - __m256 random_0_3{}; - if (kT > 0.) { - philox_float4(time_step, _mm256_add_epi32(_mm256_add_epi32(_mm256_set_epi32(7, 6, 5, 4, 3, 2, 1, 0), _mm256_set_epi32(ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0, ctr_0)), _mm256_set_epi32(((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)), ((int64_t)(block_offset_0)))), block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const __m256 xi_2 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_3 = _mm256_add_ps(_mm256_add_ps(xi_2, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_4 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_5 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_6 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_7 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_8 = _mm256_add_ps(xi_7, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_9 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_11 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_12 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_13 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_14 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_15 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_16 = _mm256_add_ps(_mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_21 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_22 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_33 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_34 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_39 = _mm256_mul_ps(_mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_40 = _mm256_mul_ps(_mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_58 = _mm256_mul_ps(_mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_63 = _mm256_mul_ps(_mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_98 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_0); - const __m256 xi_101 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_2); - const __m256 xi_103 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_1); - const __m256 xi_108 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_3_1); - const __m256 xi_112 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])); - const __m256 xi_118 = _mm256_add_ps(xi_11, xi_3); - const __m256 xi_121 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256 xi_124 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_125 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_126 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - const __m256 xi_129 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256 xi_133 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_1); - const __m256 xi_137 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_138 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_139 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_140 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_145 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_146 = _mm256_add_ps(xi_14, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_147 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_148 = _mm256_add_ps(xi_147, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])); - const __m256 xi_149 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_145, xi_146), xi_148), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_151 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_3); - const __m256 xi_155 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_156 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_157 = _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_158 = _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - const __m256 xi_159 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(xi_157, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_148), xi_155), xi_156), xi_158), xi_5); - const __m256 xi_161 = _mm256_mul_ps(xi_159, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); - const __m256 xi_162 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_2); - const __m256 xi_174 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_0); - const __m256 xi_185 = _mm256_add_ps(xi_15, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_186 = _mm256_add_ps(xi_138, xi_185); - const __m256 xi_187 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1])), xi_186), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_188 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_1); - const __m256 xi_189 = _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 xi_190 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(xi_157, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_158, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_186, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_189, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_7, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_191 = _mm256_mul_ps(xi_190, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); - const __m256 xi_192 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_0); - const __m256 xi_198 = _mm256_add_ps(_mm256_add_ps(xi_145, xi_155), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])); - const __m256 xi_199 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_198, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))); - const __m256 xi_200 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_2_2); - const __m256 xi_201 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_124, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_125, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_126), xi_140), xi_198), xi_6); - const __m256 xi_202 = _mm256_mul_ps(xi_201, _mm256_set_ps(xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160, xi_160)); - const __m256 xi_203 = _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_3); - const __m256 xi_224 = _mm256_mul_ps(xi_159, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); - const __m256 xi_227 = _mm256_mul_ps(xi_149, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); - const __m256 xi_233 = _mm256_mul_ps(xi_201, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); - const __m256 xi_234 = _mm256_mul_ps(xi_199, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); - const __m256 xi_254 = _mm256_mul_ps(xi_187, _mm256_set_ps(xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226, xi_226)); - const __m256 xi_255 = _mm256_mul_ps(xi_190, _mm256_set_ps(xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223, xi_223)); - const __m256 xi_23 = _mm256_mul_ps(xi_22, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); - const __m256 xi_35 = _mm256_mul_ps(xi_34, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); - const __m256 xi_41 = _mm256_mul_ps(xi_40, _mm256_set_ps(rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0, rr_0)); - const __m256 xi_46 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_50 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_72 = _mm256_mul_ps(_mm256_set_ps(xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45, xi_45), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 vel0Term = _mm256_add_ps(xi_3, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1])); - const __m256 vel1Term = _mm256_add_ps(xi_4, xi_5); - const __m256 vel2Term = _mm256_add_ps(xi_6, _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 delta_rho = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(vel0Term, vel1Term), vel2Term), xi_8), xi_9), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0])), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0])); - const __m256 rho = _mm256_add_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), delta_rho); - const __m256 xi_95 = _mm256_mul_ps(rho, _mm256_set_ps(kT, kT, kT, kT, kT, kT, kT, kT)); - const __m256 xi_96 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_99 = _mm256_mul_ps(_mm256_mul_ps(xi_96, xi_98), _mm256_set_ps(xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97)); - const __m256 xi_102 = _mm256_mul_ps(_mm256_mul_ps(xi_101, xi_96), _mm256_set_ps(xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100)); - const __m256 xi_105 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_106 = _mm256_mul_ps(_mm256_mul_ps(xi_103, xi_105), _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104)); - const __m256 xi_109 = _mm256_mul_ps(_mm256_mul_ps(xi_108, xi_96), _mm256_set_ps(xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107)); - const __m256 xi_131 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f, 0.11904761904761904f)); - const __m256 xi_134 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_135 = _mm256_mul_ps(xi_134, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); - const __m256 xi_136 = _mm256_mul_ps(xi_133, xi_135); - const __m256 xi_152 = _mm256_sqrt_ps(_mm256_mul_ps(xi_95, _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_mul_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)), _mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_set_ps(omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd, omega_odd)), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))), _mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f)))); - const __m256 xi_153 = _mm256_mul_ps(xi_152, _mm256_set_ps(1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f, 1.4142135623730951f)); - const __m256 xi_154 = _mm256_mul_ps(xi_153, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); - const __m256 xi_163 = _mm256_mul_ps(xi_152, _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104)); - const __m256 xi_164 = _mm256_mul_ps(xi_163, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_165 = _mm256_mul_ps(xi_162, xi_164); - const __m256 xi_166 = _mm256_add_ps(xi_161, xi_165); - const __m256 xi_167 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_149, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_151, xi_154)), xi_166); - const __m256 xi_169 = _mm256_mul_ps(xi_102, _mm256_set_ps(0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f)); - const __m256 xi_175 = _mm256_mul_ps(_mm256_mul_ps(xi_134, xi_174), _mm256_set_ps(xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173)); - const __m256 xi_176 = _mm256_mul_ps(xi_175, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_184 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f, 0.071428571428571425f)); - const __m256 xi_193 = _mm256_mul_ps(xi_164, xi_192); - const __m256 xi_194 = _mm256_add_ps(xi_191, xi_193); - const __m256 xi_195 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_187, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_154, xi_188)), xi_194); - const __m256 xi_197 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f)); - const __m256 xi_204 = _mm256_mul_ps(xi_164, xi_203); - const __m256 xi_205 = _mm256_add_ps(xi_202, xi_204); - const __m256 xi_206 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_199, _mm256_set_ps(xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150, xi_150)), _mm256_mul_ps(xi_154, xi_200)), xi_205); - const __m256 xi_207 = _mm256_mul_ps(_mm256_mul_ps(xi_133, xi_134), _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_210 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_214 = _mm256_add_ps(_mm256_mul_ps(xi_191, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_193, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_215 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_2)); - const __m256 xi_222 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_1_0)); - const __m256 xi_228 = _mm256_mul_ps(xi_163, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_229 = _mm256_mul_ps(xi_162, xi_228); - const __m256 xi_230 = _mm256_mul_ps(xi_153, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_231 = _mm256_mul_ps(xi_151, xi_230); - const __m256 xi_235 = _mm256_mul_ps(xi_203, xi_228); - const __m256 xi_236 = _mm256_mul_ps(xi_200, xi_230); - const __m256 xi_237 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_233, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_235, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_234), xi_236); - const __m256 xi_239 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)); - const __m256 xi_241 = _mm256_mul_ps(xi_99, _mm256_set_ps(0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f)); - const __m256 xi_244 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_234, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_236, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_233), xi_235); - const __m256 xi_246 = _mm256_mul_ps(xi_207, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_249 = _mm256_mul_ps(xi_109, _mm256_set_ps(0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f)); - const __m256 xi_251 = _mm256_mul_ps(xi_135, _mm256_add_ps(_mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f), random_0_3)); - const __m256 xi_256 = _mm256_mul_ps(xi_188, xi_230); - const __m256 xi_257 = _mm256_mul_ps(xi_192, xi_228); - const __m256 xi_258 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_254, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_256, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_255), xi_257); - const __m256 xi_260 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_255, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_257, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_254), xi_256); - const __m256 xi_0 = _mm256_div_ps(_mm256_set_ps(1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f), rho); - const __m256 xi_10 = _mm256_mul_ps(xi_0, _mm256_set_ps(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f)); - const __m256 u_0 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_11, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_8, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), vel0Term)), _mm256_mul_ps(xi_10, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))); - const __m256 xi_17 = _mm256_mul_ps(u_0, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_28 = _mm256_mul_ps(xi_17, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_29 = _mm256_mul_ps(xi_28, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_30 = _mm256_mul_ps(xi_17, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_31 = _mm256_add_ps(_mm256_mul_ps(xi_30, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), xi_29); - const __m256 xi_48 = _mm256_add_ps(_mm256_mul_ps(xi_17, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_29); - const __m256 xi_49 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_46, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_34), xi_48); - const __m256 xi_52 = _mm256_mul_ps(xi_17, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); - const __m256 xi_59 = _mm256_mul_ps(u_0, xi_58); - const __m256 xi_64 = _mm256_mul_ps(u_0, xi_63); - const __m256 xi_68 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_34, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_46), xi_48); - const __m256 xi_75 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_85 = _mm256_mul_ps(u_0, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_86 = _mm256_mul_ps(xi_85, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_89 = _mm256_mul_ps(xi_85, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); - const __m256 xi_111 = _mm256_mul_ps(u_0, u_0); - const __m256 u_1 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_12, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_13, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_9, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), vel1Term)), _mm256_mul_ps(xi_10, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]))); - const __m256 xi_18 = _mm256_mul_ps(u_1, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_26 = _mm256_mul_ps(xi_18, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_36 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_1, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0])); - const __m256 xi_42 = _mm256_mul_ps(xi_26, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_43 = _mm256_mul_ps(xi_18, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_53 = _mm256_mul_ps(xi_18, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); - const __m256 xi_60 = _mm256_mul_ps(u_1, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_61 = _mm256_mul_ps(xi_60, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_65 = _mm256_mul_ps(u_1, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); - const __m256 xi_66 = _mm256_mul_ps(xi_65, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_67 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_64, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_66, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_59), xi_61); - const __m256 xi_69 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_59, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_61, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_64), xi_66); - const __m256 xi_77 = _mm256_mul_ps(xi_60, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_79 = _mm256_mul_ps(xi_65, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_110 = _mm256_mul_ps(rho, _mm256_mul_ps(u_1, u_1)); - const __m256 xi_117 = _mm256_mul_ps(xi_110, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_216 = _mm256_mul_ps(rho, u_1); - const __m256 xi_218 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_mul_ps(u_0, xi_216)), xi_12), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); - const __m256 xi_219 = _mm256_add_ps(_mm256_mul_ps(xi_215, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_218, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_220 = _mm256_add_ps(xi_215, xi_218); - const __m256 u_2 = _mm256_add_ps(_mm256_mul_ps(xi_0, _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_14, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_15, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_16, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), vel2Term)), _mm256_mul_ps(xi_10, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]))); - const __m256 xi_19 = _mm256_mul_ps(u_2, _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_24 = _mm256_mul_ps(xi_19, _mm256_set_ps(0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f, 0.16666666666666666f)); - const __m256 xi_25 = _mm256_mul_ps(xi_24, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_27 = _mm256_mul_ps(xi_19, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)); - const __m256 xi_32 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(xi_27, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(xi_26, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), xi_25), xi_31); - const __m256 xi_37 = _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(u_2, _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_loadu_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0])); - const __m256 xi_38 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_28, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)), _mm256_mul_ps(_mm256_mul_ps(u_0, _mm256_set_ps(-0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f, -0.33333333333333331f)), _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]))), xi_24), xi_26), xi_36), xi_37); - const __m256 xi_44 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_19, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_mul_ps(xi_43, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(xi_24, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), xi_31), xi_42); - const __m256 xi_54 = _mm256_mul_ps(xi_19, _mm256_set_ps(xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51, xi_51)); - const __m256 xi_55 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_18, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_42), xi_52), xi_53), xi_54); - const __m256 xi_56 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_22, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_50), xi_55); - const __m256 xi_57 = _mm256_add_ps(_mm256_add_ps(xi_27, xi_37), xi_56); - const __m256 xi_70 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_50, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_22), xi_55); - const __m256 xi_71 = _mm256_add_ps(_mm256_add_ps(xi_27, xi_37), xi_70); - const __m256 xi_73 = _mm256_add_ps(_mm256_mul_ps(xi_19, _mm256_set_ps(xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47, xi_47)), xi_25); - const __m256 xi_74 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_40, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_72), xi_73); - const __m256 xi_76 = _mm256_add_ps(_mm256_add_ps(xi_30, xi_56), xi_75); - const __m256 xi_78 = _mm256_mul_ps(u_2, xi_58); - const __m256 xi_80 = _mm256_mul_ps(u_2, xi_63); - const __m256 xi_81 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_77, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_78, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_79), xi_80); - const __m256 xi_82 = _mm256_add_ps(_mm256_add_ps(xi_30, xi_70), xi_75); - const __m256 xi_83 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_79, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_80, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_77), xi_78); - const __m256 xi_84 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36, xi_43), xi_52), xi_53), xi_54), xi_74); - const __m256 xi_87 = _mm256_mul_ps(u_2, _mm256_load_ps(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0])); - const __m256 xi_88 = _mm256_mul_ps(xi_87, _mm256_set_ps(0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f, 0.25f)); - const __m256 xi_90 = _mm256_mul_ps(xi_87, _mm256_set_ps(xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62, xi_62)); - const __m256 xi_91 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_89, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_90, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_86), xi_88); - const __m256 xi_92 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_86, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_88, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_89), xi_90); - const __m256 xi_93 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_72, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_40), xi_73); - const __m256 xi_94 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_36, xi_43), xi_52), xi_53), xi_54), xi_93); - const __m256 xi_113 = _mm256_mul_ps(rho, _mm256_mul_ps(u_2, u_2)); - const __m256 xi_114 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_113, _mm256_set_ps(0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f))), xi_112); - const __m256 xi_115 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_110, _mm256_set_ps(0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f, 0.66666666666666663f))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f, -3.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_mul_ps(rho, xi_111), _mm256_set_ps(1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f, 1.6666666666666667f))), xi_114); - const __m256 xi_116 = _mm256_mul_ps(xi_115, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); - const __m256 xi_119 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_112, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_117, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_118, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_13, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_16, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_5, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(rho, xi_111)), xi_113); - const __m256 xi_120 = _mm256_mul_ps(xi_119, _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk)); - const __m256 xi_122 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_110, _mm256_set_ps(2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f, 2.3333333333333335f)), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f, -5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))), xi_114), xi_121); - const __m256 xi_123 = _mm256_mul_ps(xi_122, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); - const __m256 xi_127 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_113, _mm256_set_ps(3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f, 3.0f)), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f, 5.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f, -4.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_set_ps(-7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f, -7.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))), xi_112), xi_121), xi_124), xi_125), xi_126); - const __m256 xi_128 = _mm256_mul_ps(xi_127, _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)); - const __m256 xi_130 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f, 0.01984126984126984f)); - const __m256 xi_132 = _mm256_add_ps(xi_130, xi_131); - const __m256 xi_141 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_113, xi_139), xi_140), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1])); - const __m256 xi_142 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_117, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_137, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_138, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_141, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_15, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_2, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_4, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1])), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256 xi_143 = _mm256_mul_ps(xi_142, _mm256_set_ps(0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f, 0.125f)); - const __m256 xi_144 = _mm256_add_ps(_mm256_mul_ps(xi_136, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_143, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_168 = _mm256_mul_ps(xi_116, _mm256_set_ps(0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f)); - const __m256 xi_170 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0])), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(_mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))), _mm256_mul_ps(xi_110, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_118, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_129, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_141, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_147, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))), _mm256_mul_ps(_mm256_set_ps(-2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f, -2.0f), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]))), _mm256_mul_ps(_mm256_mul_ps(rho, xi_111), _mm256_set_ps(2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f, 2.0f))); - const __m256 xi_171 = _mm256_mul_ps(xi_170, _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear)); - const __m256 xi_172 = _mm256_mul_ps(xi_171, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)); - const __m256 xi_177 = _mm256_add_ps(xi_172, xi_176); - const __m256 xi_178 = _mm256_add_ps(_mm256_add_ps(xi_168, xi_169), xi_177); - const __m256 xi_179 = _mm256_add_ps(_mm256_mul_ps(xi_130, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_131, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_180 = _mm256_add_ps(xi_136, xi_143); - const __m256 xi_181 = _mm256_add_ps(_mm256_mul_ps(xi_172, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_176, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_182 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_168, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_169, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_181); - const __m256 xi_183 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f, 0.035714285714285712f)); - const __m256 xi_196 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f, 0.021428571428571429f)); - const __m256 xi_208 = _mm256_mul_ps(xi_142, _mm256_set_ps(0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f, 0.0625f)); - const __m256 xi_209 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f, 0.013888888888888888f)); - const __m256 xi_211 = _mm256_add_ps(_mm256_mul_ps(xi_120, _mm256_set_ps(0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f, 0.041666666666666664f)), _mm256_mul_ps(xi_106, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))); - const __m256 xi_212 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171, _mm256_set_ps(0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f, 0.020833333333333332f)), _mm256_mul_ps(xi_175, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f))), xi_211); - const __m256 xi_213 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_166, xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256 xi_221 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_161, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_165, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_207), xi_208), xi_209), xi_210), xi_212); - const __m256 xi_225 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(u_2, xi_216), xi_146), xi_155), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); - const __m256 xi_232 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_224, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_229, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_222), xi_225), xi_227), xi_231); - const __m256 xi_238 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f, 0.0071428571428571426f)); - const __m256 xi_240 = _mm256_mul_ps(xi_128, _mm256_set_ps(0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f, 0.003968253968253968f)); - const __m256 xi_242 = _mm256_add_ps(_mm256_mul_ps(xi_240, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_241, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_243 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_116, _mm256_set_ps(0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f, 0.025000000000000001f)), _mm256_mul_ps(xi_102, _mm256_set_ps(0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f, 0.050000000000000003f))), _mm256_mul_ps(xi_238, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_239, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_181), xi_211), xi_242); - const __m256 xi_245 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(xi_115, _mm256_set_ps(-0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f, -0.025000000000000001f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even)), _mm256_mul_ps(_mm256_mul_ps(xi_119, _mm256_set_ps(-0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f, -0.041666666666666664f)), _mm256_set_ps(omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk, omega_bulk))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_101, xi_96), _mm256_set_ps(-0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f, -0.050000000000000003f)), _mm256_set_ps(xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100, xi_100))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_103, xi_105), _mm256_set_ps(-0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f, -0.083333333333333329f)), _mm256_set_ps(xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104, xi_104))), xi_177), xi_238), xi_239), xi_240), xi_241); - const __m256 xi_247 = _mm256_mul_ps(xi_208, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)); - const __m256 xi_248 = _mm256_mul_ps(xi_123, _mm256_set_ps(0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f, 0.017857142857142856f)); - const __m256 xi_250 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(xi_205, xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256 xi_252 = _mm256_mul_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(_mm256_mul_ps(rho, u_0), u_2), xi_137), xi_185), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1])), _mm256_set_ps(xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217, xi_217)); - const __m256 xi_253 = _mm256_add_ps(_mm256_mul_ps(xi_251, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_252, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 xi_259 = _mm256_add_ps(xi_251, xi_252); - const __m256 xi_261 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_227, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_231, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_222), xi_224), xi_225), xi_229); - const __m256 xi_262 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_202, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_204, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_212), xi_242), xi_246), xi_247), xi_248), xi_249); - const __m256 forceTerm_0 = _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_17, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_18, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_19, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_17, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))), _mm256_mul_ps(xi_18, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))), _mm256_mul_ps(xi_19, _mm256_set_ps(xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20, xi_20))); - const __m256 forceTerm_1 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_23, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_21), xi_32); - const __m256 forceTerm_2 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_21, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_23), xi_32); - const __m256 forceTerm_3 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_33, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_38, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_35); - const __m256 forceTerm_4 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_35, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_38, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), xi_33); - const __m256 forceTerm_5 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_41, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_39), xi_44); - const __m256 forceTerm_6 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_39, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), xi_41), xi_44); - const __m256 forceTerm_7 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_57, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_67, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_8 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_57, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_69, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_9 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_69, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_71, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_10 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_67, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_71, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_11 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_76, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_81, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_12 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_74, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_82, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_83, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_13 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_84, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_91, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_14 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_84, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_92, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_15 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_76, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_83, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_93, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_16 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_81, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_82, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_93, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_17 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_49, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_92, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_94, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - const __m256 forceTerm_18 = _mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_68, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_91, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_94, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128, _mm256_set_ps(0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f, 0.023809523809523808f)), _mm256_mul_ps(xi_99, _mm256_set_ps(0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f, 0.14285714285714285f))), _mm256_mul_ps(xi_123, _mm256_set_ps(0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f, 0.042857142857142858f))), _mm256_mul_ps(xi_109, _mm256_set_ps(0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f, 0.085714285714285715f))), _mm256_mul_ps(xi_116, _mm256_set_ps(0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f, 0.10000000000000001f))), _mm256_mul_ps(xi_102, _mm256_set_ps(0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f, 0.20000000000000001f))), _mm256_mul_ps(xi_120, _mm256_set_ps(-0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f))), _mm256_mul_ps(xi_106, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_0), _mm256_load_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_129, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_132, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_144, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_167, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_178, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_122, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_108, xi_96), _mm256_set_ps(0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f)), _mm256_set_ps(xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107, xi_107))), forceTerm_1)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_123, _mm256_set_ps(0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f, 0.014285714285714285f)), _mm256_mul_ps(xi_109, _mm256_set_ps(0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f, 0.028571428571428571f))), forceTerm_2), xi_167), xi_179), xi_180), xi_182), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_171, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_mul_ps(xi_175, _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f))), _mm256_mul_ps(xi_183, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_184, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_3), xi_179), xi_195), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_132, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_183, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_184, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_189, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_195, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_170, _mm256_set_ps(0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f, 0.083333333333333329f)), _mm256_set_ps(omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear, omega_shear))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_134, xi_174), _mm256_set_ps(0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f, 0.33333333333333331f)), _mm256_set_ps(xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173, xi_173))), forceTerm_4)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_139, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_178, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_180, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_196, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_197, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_206, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(_mm256_mul_ps(xi_127, _mm256_set_ps(0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f)), _mm256_set_ps(omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even, omega_even))), _mm256_mul_ps(_mm256_mul_ps(_mm256_mul_ps(xi_96, xi_98), _mm256_set_ps(0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f)), _mm256_set_ps(xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97, xi_97))), forceTerm_5)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_128, _mm256_set_ps(0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f, 0.015873015873015872f)), _mm256_mul_ps(xi_99, _mm256_set_ps(0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f, 0.095238095238095233f))), _mm256_mul_ps(xi_196, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_197, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_6), xi_144), xi_182), xi_206), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_7, xi_213), xi_214), xi_219), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_8, xi_194), xi_213), xi_220), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_9, xi_214), xi_220), xi_221), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_10, xi_194), xi_219), xi_221), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_11, xi_232), xi_237), xi_243), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_156, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_232, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_244, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_245, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_12)); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_13, xi_250), xi_253), xi_258), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_14, xi_250), xi_259), xi_260), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_mul_ps(xi_145, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f)), _mm256_mul_ps(xi_237, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_245, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), _mm256_mul_ps(xi_261, _mm256_set_ps(-1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, -1.0f))), forceTerm_15)); - _mm256_store_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_16, xi_243), xi_244), xi_261), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_17, xi_258), xi_259), xi_262), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]))); - _mm256_storeu_ps(&_data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0], _mm256_add_ps(_mm256_add_ps(_mm256_add_ps(_mm256_add_ps(forceTerm_18, xi_253), xi_260), xi_262), _mm256_loadu_ps(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]))); - } - for (int64_t ctr_0 = (int64_t)((_size_force_0 - 2) / (8)) * (8) + 1; ctr_0 < _size_force_0 - 1; ctr_0 += 1) { + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_482af0085ade5d86c474548ac4b32084::streamcollidesweepthermalizedsingleprecisionavx_streamcollidesweepthermalizedsingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); - float random_3_0{}; - float random_3_1{}; - float random_3_2{}; - float random_3_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); - } +} - float random_2_0{}; - float random_2_1{}; - float random_2_2{}; - float random_2_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - float random_1_0{}; - float random_1_1{}; - float random_1_2{}; - float random_1_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } +void StreamCollideSweepThermalizedSinglePrecisionAVX::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - float random_0_0{}; - float random_0_1{}; - float random_0_2{}; - float random_0_3{}; - if (kT > 0.) { - philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const float xi_2 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_4 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_5 = _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const float xi_6 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const float xi_7 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_9 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const float xi_11 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_12 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_13 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const float xi_14 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const float xi_15 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_16 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_58 = 0.25f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_63 = xi_62 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_98 = random_3_0 - 0.5f; - const float xi_101 = random_3_2 - 0.5f; - const float xi_103 = random_1_1 - 0.5f; - const float xi_108 = random_3_1 - 0.5f; - const float xi_112 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const float xi_118 = xi_11 + xi_3; - const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_129 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_133 = random_0_1 - 0.5f; - const float xi_137 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_138 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_139 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const float xi_140 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const float xi_145 = -_data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]; - const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const float xi_147 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const float xi_151 = random_2_3 - 0.5f; - const float xi_155 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - const float xi_156 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0]; - const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_161 = xi_159 * xi_160; - const float xi_162 = random_1_2 - 0.5f; - const float xi_174 = random_0_0 - 0.5f; - const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_186 = xi_138 + xi_185; - const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_188 = random_2_1 - 0.5f; - const float xi_189 = -_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_191 = xi_160 * xi_190; - const float xi_192 = random_2_0 - 0.5f; - const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - const float xi_200 = random_2_2 - 0.5f; - const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const float xi_202 = xi_160 * xi_201; - const float xi_203 = random_1_3 - 0.5f; - const float xi_224 = xi_159 * xi_223; - const float xi_227 = xi_149 * xi_226; - const float xi_233 = xi_201 * xi_223; - const float xi_234 = xi_199 * xi_226; - const float xi_254 = xi_187 * xi_226; - const float xi_255 = xi_190 * xi_223; - const float xi_23 = rr_0 * xi_22; - const float xi_35 = rr_0 * xi_34; - const float xi_41 = rr_0 * xi_40; - const float xi_46 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_50 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_72 = xi_45 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1]; - const float vel1Term = xi_4 + xi_5; - const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - const float rho = delta_rho + 1.0f; - const float xi_95 = kT * rho; - const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); - const float xi_99 = xi_96 * xi_97 * xi_98; - const float xi_102 = xi_100 * xi_101 * xi_96; - const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); - const float xi_106 = xi_103 * xi_104 * xi_105; - const float xi_109 = xi_107 * xi_108 * xi_96; - const float xi_131 = xi_99 * 0.11904761904761904f; - const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); - const float xi_135 = xi_134 * 0.5f; - const float xi_136 = xi_133 * xi_135; - const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); - const float xi_153 = xi_152 * 1.4142135623730951f; - const float xi_154 = xi_153 * 0.5f; - const float xi_163 = xi_104 * xi_152; - const float xi_164 = xi_163 * 0.16666666666666666f; - const float xi_165 = xi_162 * xi_164; - const float xi_166 = xi_161 + xi_165; - const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const float xi_169 = xi_102 * 0.10000000000000001f; - const float xi_175 = xi_134 * xi_173 * xi_174; - const float xi_176 = xi_175 * 0.16666666666666666f; - const float xi_184 = xi_109 * 0.071428571428571425f; - const float xi_193 = xi_164 * xi_192; - const float xi_194 = xi_191 + xi_193; - const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const float xi_197 = xi_109 * 0.042857142857142858f; - const float xi_204 = xi_164 * xi_203; - const float xi_205 = xi_202 + xi_204; - const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const float xi_207 = xi_133 * xi_134 * 0.25f; - const float xi_210 = xi_99 * 0.083333333333333329f; - const float xi_214 = -xi_191 - xi_193; - const float xi_215 = xi_135 * (random_0_2 - 0.5f); - const float xi_222 = xi_135 * (random_1_0 - 0.5f); - const float xi_228 = xi_163 * 0.083333333333333329f; - const float xi_229 = xi_162 * xi_228; - const float xi_230 = xi_153 * 0.25f; - const float xi_231 = xi_151 * xi_230; - const float xi_235 = xi_203 * xi_228; - const float xi_236 = xi_200 * xi_230; - const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const float xi_239 = xi_109 * 0.014285714285714285f; - const float xi_241 = xi_99 * 0.023809523809523808f; - const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const float xi_246 = -xi_207; - const float xi_249 = xi_109 * 0.035714285714285712f; - const float xi_251 = xi_135 * (random_0_3 - 0.5f); - const float xi_256 = xi_188 * xi_230; - const float xi_257 = xi_192 * xi_228; - const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const float xi_0 = ((1.0f) / (rho)); - const float xi_10 = xi_0 * 0.5f; - const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_17 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_28 = xi_17 * 0.16666666666666666f; - const float xi_29 = -xi_28; - const float xi_30 = xi_17 * 0.083333333333333329f; - const float xi_31 = omega_shear * xi_30 + xi_29; - const float xi_48 = xi_17 * xi_47 + xi_29; - const float xi_49 = xi_34 - xi_46 + xi_48; - const float xi_52 = xi_17 * xi_51; - const float xi_59 = u_0 * xi_58; - const float xi_64 = u_0 * xi_63; - const float xi_68 = -xi_34 + xi_46 + xi_48; - const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_85 = u_0 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_86 = xi_85 * 0.25f; - const float xi_89 = xi_62 * xi_85; - const float xi_111 = (u_0 * u_0); - const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_18 = u_1 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_26 = xi_18 * 0.16666666666666666f; - const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]; - const float xi_42 = -xi_26; - const float xi_43 = xi_18 * 0.083333333333333329f; - const float xi_53 = xi_18 * xi_51; - const float xi_60 = u_1 * 0.25f; - const float xi_61 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_65 = u_1 * xi_62; - const float xi_66 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const float xi_77 = xi_60 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_79 = xi_65 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_110 = rho * (u_1 * u_1); - const float xi_117 = -xi_110; - const float xi_216 = rho * u_1; - const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]); - const float xi_219 = -xi_215 - xi_218; - const float xi_220 = xi_215 + xi_218; - const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]) + xi_10 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_19 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_24 = xi_19 * 0.16666666666666666f; - const float xi_25 = -xi_24; - const float xi_27 = xi_19 * 0.083333333333333329f; - const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; - const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]; - const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0] + xi_24 + xi_26 + xi_36 + xi_37; - const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; - const float xi_54 = xi_19 * xi_51; - const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const float xi_56 = -xi_22 + xi_50 + xi_55; - const float xi_57 = xi_27 + xi_37 + xi_56; - const float xi_70 = xi_22 - xi_50 + xi_55; - const float xi_71 = xi_27 + xi_37 + xi_70; - const float xi_73 = xi_19 * xi_47 + xi_25; - const float xi_74 = -xi_40 + xi_72 + xi_73; - const float xi_76 = xi_30 + xi_56 + xi_75; - const float xi_78 = u_2 * xi_58; - const float xi_80 = u_2 * xi_63; - const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const float xi_82 = xi_30 + xi_70 + xi_75; - const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const float xi_87 = u_2 * _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]; - const float xi_88 = xi_87 * 0.25f; - const float xi_90 = xi_62 * xi_87; - const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const float xi_93 = xi_40 - xi_72 + xi_73; - const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const float xi_113 = rho * (u_2 * u_2); - const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0]; - const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] - 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 3.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_116 = omega_even * xi_115; - const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const float xi_120 = omega_bulk * xi_119; - const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1] - 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - const float xi_123 = omega_even * xi_122; - const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0] - 4.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3 + ctr_0] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1] - 7.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + 5.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]; - const float xi_128 = omega_even * xi_127; - const float xi_130 = xi_128 * 0.01984126984126984f; - const float xi_132 = xi_130 + xi_131; - const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]); - const float xi_143 = xi_142 * 0.125f; - const float xi_144 = -xi_136 - xi_143; - const float xi_168 = xi_116 * 0.050000000000000003f; - const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1] - 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0 - 1] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0] + 2.0f * _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0] - _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - const float xi_171 = omega_shear * xi_170; - const float xi_172 = xi_171 * 0.041666666666666664f; - const float xi_177 = xi_172 + xi_176; - const float xi_178 = xi_168 + xi_169 + xi_177; - const float xi_179 = -xi_130 - xi_131; - const float xi_180 = xi_136 + xi_143; - const float xi_181 = -xi_172 - xi_176; - const float xi_182 = -xi_168 - xi_169 + xi_181; - const float xi_183 = xi_123 * 0.035714285714285712f; - const float xi_196 = xi_123 * 0.021428571428571429f; - const float xi_208 = xi_142 * 0.0625f; - const float xi_209 = xi_128 * 0.013888888888888888f; - const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; - const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; - const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3 + ctr_0]); - const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const float xi_238 = xi_123 * 0.0071428571428571426f; - const float xi_240 = xi_128 * 0.003968253968253968f; - const float xi_242 = -xi_240 - xi_241; - const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const float xi_247 = -xi_208; - const float xi_248 = xi_123 * 0.017857142857142856f; - const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]); - const float xi_253 = -xi_251 - xi_252; - const float xi_259 = xi_251 + xi_252; - const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const float forceTerm_1 = xi_21 - xi_23 + xi_32; - const float forceTerm_2 = -xi_21 + xi_23 + xi_32; - const float forceTerm_3 = -xi_33 + xi_35 - xi_38; - const float forceTerm_4 = xi_33 - xi_35 - xi_38; - const float forceTerm_5 = xi_39 - xi_41 + xi_44; - const float forceTerm_6 = -xi_39 + xi_41 + xi_44; - const float forceTerm_7 = -xi_49 - xi_57 - xi_67; - const float forceTerm_8 = -xi_57 - xi_68 - xi_69; - const float forceTerm_9 = -xi_49 - xi_69 - xi_71; - const float forceTerm_10 = -xi_67 - xi_68 - xi_71; - const float forceTerm_11 = -xi_74 - xi_76 - xi_81; - const float forceTerm_12 = -xi_74 - xi_82 - xi_83; - const float forceTerm_13 = -xi_49 - xi_84 - xi_91; - const float forceTerm_14 = -xi_68 - xi_84 - xi_92; - const float forceTerm_15 = -xi_76 - xi_83 - xi_93; - const float forceTerm_16 = -xi_81 - xi_82 - xi_93; - const float forceTerm_17 = -xi_49 - xi_92 - xi_94; - const float forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + ctr_0] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3 + ctr_0] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3 + ctr_0 - 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3 + ctr_0]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3 + ctr_0 + 1]; - _data_pdfs_tmp[_stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3 + ctr_0] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3 + ctr_0 - 1]; - } + auto force = block->getData< field::GhostLayerField >(forceID); + auto pdfs = block->getData< field::GhostLayerField >(pdfsID); + field::GhostLayerField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; } - } } - } -} -} // namespace internal_482af0085ade5d86c474548ac4b32084 -void StreamCollideSweepThermalizedSinglePrecisionAVX::run(IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + auto & block_offset_2 = this->block_offset_2_; + auto & omega_bulk = this->omega_bulk_; + auto & omega_odd = this->omega_odd_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_even = this->omega_even_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) pdfs_tmp->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_EQUAL((uintptr_t) force->dataAt(0, 0, 0, 0) %32, 0) + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + internal_482af0085ade5d86c474548ac4b32084::streamcollidesweepthermalizedsingleprecisionavx_streamcollidesweepthermalizedsingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - - auto &omega_even = this->omega_even_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_482af0085ade5d86c474548ac4b32084::streamcollidesweepthermalizedsingleprecisionavx_streamcollidesweepthermalizedsingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); } -void StreamCollideSweepThermalizedSinglePrecisionAVX::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; - - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - field::GhostLayerField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; - } - } - - auto &omega_even = this->omega_even_; - auto &block_offset_2 = this->block_offset_2_; - auto &omega_odd = this->omega_odd_; - auto &block_offset_0 = this->block_offset_0_; - auto &omega_shear = this->omega_shear_; - auto &block_offset_1 = this->block_offset_1_; - auto &kT = this->kT_; - auto &seed = this->seed_; - auto &omega_bulk = this->omega_bulk_; - auto &time_step = this->time_step_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs_tmp->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0) - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - internal_482af0085ade5d86c474548ac4b32084::streamcollidesweepthermalizedsingleprecisionavx_streamcollidesweepthermalizedsingleprecisionavx(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); -} } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif diff --git a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu index d716b99571..752298c983 100644 --- a/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu +++ b/src/walberla_bridge/src/lattice_boltzmann/generated_kernels/StreamCollideSweepThermalizedSinglePrecisionCUDA.cu @@ -19,27 +19,31 @@ // kernel generated with pystencils v1.3.7+13.gdfd203a, lbmpy v1.3.7+10.gd3f6236, sympy v1.12.1, lbmpy_walberla/pystencils_walberla from waLBerla commit fc0818503b0c5800ec6de9eeb97b1b5dd8ee4a70 + #include -#include "StreamCollideSweepThermalizedSinglePrecisionCUDA.h" #include "core/DataTypes.h" #include "core/Macros.h" +#include "StreamCollideSweepThermalizedSinglePrecisionCUDA.h" + #include "philox_rand.h" + + #define FUNC_PREFIX __global__ -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" -#pragma GCC diagnostic ignored "-Wshadow" -#pragma GCC diagnostic ignored "-Wconversion" -#pragma GCC diagnostic ignored "-Wunused-variable" +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wfloat-equal" +# pragma GCC diagnostic ignored "-Wshadow" +# pragma GCC diagnostic ignored "-Wconversion" +# pragma GCC diagnostic ignored "-Wunused-variable" #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning push -#pragma warning(disable : 1599) +#pragma warning( disable : 1599 ) #endif using namespace std; @@ -47,502 +51,520 @@ using namespace std; namespace walberla { namespace pystencils { -namespace internal_streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda { -static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda(float *RESTRICT const _data_force, float *RESTRICT const _data_pdfs, float *RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step) { - if (blockDim.x * blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y * blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z * blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) { - const int64_t ctr_0 = blockDim.x * blockIdx.x + threadIdx.x + 1; - const int64_t ctr_1 = blockDim.y * blockIdx.y + threadIdx.y + 1; - const int64_t ctr_2 = blockDim.z * blockIdx.z + threadIdx.z + 1; - float random_3_0{}; - float random_3_1{}; - float random_3_2{}; - float random_3_3{}; - if (kT > 0.) { +namespace internal_streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda { +static FUNC_PREFIX __launch_bounds__(256) void streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda(float * RESTRICT const _data_force, float * RESTRICT const _data_pdfs, float * RESTRICT _data_pdfs_tmp, int64_t const _size_force_0, int64_t const _size_force_1, int64_t const _size_force_2, int64_t const _stride_force_0, int64_t const _stride_force_1, int64_t const _stride_force_2, int64_t const _stride_force_3, int64_t const _stride_pdfs_0, int64_t const _stride_pdfs_1, int64_t const _stride_pdfs_2, int64_t const _stride_pdfs_3, int64_t const _stride_pdfs_tmp_0, int64_t const _stride_pdfs_tmp_1, int64_t const _stride_pdfs_tmp_2, int64_t const _stride_pdfs_tmp_3, uint32_t block_offset_0, uint32_t block_offset_1, uint32_t block_offset_2, float kT, float omega_bulk, float omega_even, float omega_odd, float omega_shear, uint32_t seed, uint32_t time_step) +{ + if (blockDim.x*blockIdx.x + threadIdx.x + 1 < _size_force_0 - 1 && blockDim.y*blockIdx.y + threadIdx.y + 1 < _size_force_1 - 1 && blockDim.z*blockIdx.z + threadIdx.z + 1 < _size_force_2 - 1) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x + 1; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y + 1; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z + 1; + + float random_3_0{}; + float random_3_1{}; + float random_3_2{}; + float random_3_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 3, seed, random_3_0, random_3_1, random_3_2, random_3_3); - } - - float random_2_0{}; - float random_2_1{}; - float random_2_2{}; - float random_2_3{}; - if (kT > 0.) { + } + + float random_2_0{}; + float random_2_1{}; + float random_2_2{}; + float random_2_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 2, seed, random_2_0, random_2_1, random_2_2, random_2_3); - } - - float random_1_0{}; - float random_1_1{}; - float random_1_2{}; - float random_1_3{}; - if (kT > 0.) { + } + + float random_1_0{}; + float random_1_1{}; + float random_1_2{}; + float random_1_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 1, seed, random_1_0, random_1_1, random_1_2, random_1_3); - } - - float random_0_0{}; - float random_0_1{}; - float random_0_2{}; - float random_0_3{}; - if (kT > 0.) { + } + + float random_0_0{}; + float random_0_1{}; + float random_0_2{}; + float random_0_3{}; + if (kT > 0.) { philox_float4(time_step, block_offset_0 + ctr_0, block_offset_1 + ctr_1, block_offset_2 + ctr_2, 0, seed, random_0_0, random_0_1, random_0_2, random_0_3); - } - const float xi_2 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_4 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_5 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_6 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_7 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_9 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_11 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - const float xi_12 = _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_13 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_14 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_15 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_16 = _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_20 = omega_bulk * 0.5f; - const float xi_21 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_22 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_33 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_34 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_39 = 0.16666666666666666f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_40 = 0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_47 = omega_shear * 0.041666666666666664f; - const float xi_51 = omega_bulk * 0.041666666666666664f; - const float xi_58 = 0.25f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_62 = omega_shear * 0.125f; - const float xi_63 = xi_62 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_97 = 3.7416573867739413f; - const float xi_98 = random_3_0 - 0.5f; - const float xi_100 = 5.4772255750516612f; - const float xi_101 = random_3_2 - 0.5f; - const float xi_103 = random_1_1 - 0.5f; - const float xi_104 = 2.4494897427831779f; - const float xi_107 = 8.3666002653407556f; - const float xi_108 = random_3_1 - 0.5f; - const float xi_112 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float xi_118 = xi_11 + xi_3; - const float xi_121 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_124 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_125 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_126 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_129 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_133 = random_0_1 - 0.5f; - const float xi_137 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_138 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - const float xi_139 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_140 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_145 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]; - const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_147 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_150 = omega_odd * 0.25f; - const float xi_151 = random_2_3 - 0.5f; - const float xi_155 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - const float xi_156 = -_data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3]; - const float xi_157 = 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - const float xi_158 = -2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_160 = omega_odd * 0.083333333333333329f; - const float xi_161 = xi_159 * xi_160; - const float xi_162 = random_1_2 - 0.5f; - const float xi_173 = 1.7320508075688772f; - const float xi_174 = random_0_0 - 0.5f; - const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float xi_186 = xi_138 + xi_185; - const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_188 = random_2_1 - 0.5f; - const float xi_189 = -_data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_191 = xi_160 * xi_190; - const float xi_192 = random_2_0 - 0.5f; - const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - const float xi_200 = random_2_2 - 0.5f; - const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; - const float xi_202 = xi_160 * xi_201; - const float xi_203 = random_1_3 - 0.5f; - const float xi_217 = omega_shear * 0.25f; - const float xi_223 = omega_odd * 0.041666666666666664f; - const float xi_224 = xi_159 * xi_223; - const float xi_226 = omega_odd * 0.125f; - const float xi_227 = xi_149 * xi_226; - const float xi_233 = xi_201 * xi_223; - const float xi_234 = xi_199 * xi_226; - const float xi_254 = xi_187 * xi_226; - const float xi_255 = xi_190 * xi_223; - const float rr_0 = 0.0f; - const float xi_23 = rr_0 * xi_22; - const float xi_35 = rr_0 * xi_34; - const float xi_41 = rr_0 * xi_40; - const float xi_45 = rr_0 * 0.041666666666666664f; - const float xi_46 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_50 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_72 = xi_45 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3]; - const float vel1Term = xi_4 + xi_5; - const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - const float rho = delta_rho + 1.0f; - const float xi_95 = kT * rho; - const float xi_96 = powf(xi_95 * (1.0f - ((-omega_even + 1.0f) * (-omega_even + 1.0f))), 0.5f); - const float xi_99 = xi_96 * xi_97 * xi_98; - const float xi_102 = xi_100 * xi_101 * xi_96; - const float xi_105 = powf(xi_95 * (1.0f - ((-omega_bulk + 1.0f) * (-omega_bulk + 1.0f))), 0.5f); - const float xi_106 = xi_103 * xi_104 * xi_105; - const float xi_109 = xi_107 * xi_108 * xi_96; - const float xi_131 = xi_99 * 0.11904761904761904f; - const float xi_134 = powf(xi_95 * (1.0f - ((-omega_shear + 1.0f) * (-omega_shear + 1.0f))), 0.5f); - const float xi_135 = xi_134 * 0.5f; - const float xi_136 = xi_133 * xi_135; - const float xi_152 = powf(xi_95 * (1.0f - ((-omega_odd + 1.0f) * (-omega_odd + 1.0f))), 0.5f); - const float xi_153 = xi_152 * 1.4142135623730951f; - const float xi_154 = xi_153 * 0.5f; - const float xi_163 = xi_104 * xi_152; - const float xi_164 = xi_163 * 0.16666666666666666f; - const float xi_165 = xi_162 * xi_164; - const float xi_166 = xi_161 + xi_165; - const float xi_167 = xi_149 * xi_150 + xi_151 * xi_154 + xi_166; - const float xi_169 = xi_102 * 0.10000000000000001f; - const float xi_175 = xi_134 * xi_173 * xi_174; - const float xi_176 = xi_175 * 0.16666666666666666f; - const float xi_184 = xi_109 * 0.071428571428571425f; - const float xi_193 = xi_164 * xi_192; - const float xi_194 = xi_191 + xi_193; - const float xi_195 = xi_150 * xi_187 + xi_154 * xi_188 + xi_194; - const float xi_197 = xi_109 * 0.042857142857142858f; - const float xi_204 = xi_164 * xi_203; - const float xi_205 = xi_202 + xi_204; - const float xi_206 = xi_150 * xi_199 + xi_154 * xi_200 + xi_205; - const float xi_207 = xi_133 * xi_134 * 0.25f; - const float xi_210 = xi_99 * 0.083333333333333329f; - const float xi_214 = -xi_191 - xi_193; - const float xi_215 = xi_135 * (random_0_2 - 0.5f); - const float xi_222 = xi_135 * (random_1_0 - 0.5f); - const float xi_228 = xi_163 * 0.083333333333333329f; - const float xi_229 = xi_162 * xi_228; - const float xi_230 = xi_153 * 0.25f; - const float xi_231 = xi_151 * xi_230; - const float xi_235 = xi_203 * xi_228; - const float xi_236 = xi_200 * xi_230; - const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; - const float xi_239 = xi_109 * 0.014285714285714285f; - const float xi_241 = xi_99 * 0.023809523809523808f; - const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; - const float xi_246 = -xi_207; - const float xi_249 = xi_109 * 0.035714285714285712f; - const float xi_251 = xi_135 * (random_0_3 - 0.5f); - const float xi_256 = xi_188 * xi_230; - const float xi_257 = xi_192 * xi_228; - const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; - const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; - const float xi_0 = ((1.0f) / (rho)); - const float xi_10 = xi_0 * 0.5f; - const float u_0 = xi_0 * (vel0Term - xi_11 - xi_8) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_17 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_28 = xi_17 * 0.16666666666666666f; - const float xi_29 = -xi_28; - const float xi_30 = xi_17 * 0.083333333333333329f; - const float xi_31 = omega_shear * xi_30 + xi_29; - const float xi_48 = xi_17 * xi_47 + xi_29; - const float xi_49 = xi_34 - xi_46 + xi_48; - const float xi_52 = xi_17 * xi_51; - const float xi_59 = u_0 * xi_58; - const float xi_64 = u_0 * xi_63; - const float xi_68 = -xi_34 + xi_46 + xi_48; - const float xi_75 = omega_shear * u_0 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_85 = u_0 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_86 = xi_85 * 0.25f; - const float xi_89 = xi_62 * xi_85; - const float xi_111 = u_0 * u_0; - const float u_1 = xi_0 * (vel1Term - xi_12 - xi_13 - xi_9) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_18 = u_1 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_26 = xi_18 * 0.16666666666666666f; - const float xi_36 = omega_shear * u_1 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3]; - const float xi_42 = -xi_26; - const float xi_43 = xi_18 * 0.083333333333333329f; - const float xi_53 = xi_18 * xi_51; - const float xi_60 = u_1 * 0.25f; - const float xi_61 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_65 = u_1 * xi_62; - const float xi_66 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; - const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; - const float xi_77 = xi_60 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_79 = xi_65 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_110 = rho * (u_1 * u_1); - const float xi_117 = -xi_110; - const float xi_216 = rho * u_1; - const float xi_218 = xi_217 * (u_0 * xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]); - const float xi_219 = -xi_215 - xi_218; - const float xi_220 = xi_215 + xi_218; - const float u_2 = xi_0 * (vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]) + xi_10 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_19 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_24 = xi_19 * 0.16666666666666666f; - const float xi_25 = -xi_24; - const float xi_27 = xi_19 * 0.083333333333333329f; - const float xi_32 = -omega_shear * xi_26 + omega_shear * xi_27 + xi_18 * 0.33333333333333331f + xi_25 + xi_31; - const float xi_37 = omega_shear * u_2 * -0.083333333333333329f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3]; - const float xi_38 = omega_shear * xi_28 + u_0 * -0.33333333333333331f * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; - const float xi_44 = -omega_shear * xi_24 + omega_shear * xi_43 + xi_19 * 0.33333333333333331f + xi_31 + xi_42; - const float xi_54 = xi_19 * xi_51; - const float xi_55 = xi_18 * xi_47 + xi_42 + xi_52 + xi_53 + xi_54; - const float xi_56 = -xi_22 + xi_50 + xi_55; - const float xi_57 = xi_27 + xi_37 + xi_56; - const float xi_70 = xi_22 - xi_50 + xi_55; - const float xi_71 = xi_27 + xi_37 + xi_70; - const float xi_73 = xi_19 * xi_47 + xi_25; - const float xi_74 = -xi_40 + xi_72 + xi_73; - const float xi_76 = xi_30 + xi_56 + xi_75; - const float xi_78 = u_2 * xi_58; - const float xi_80 = u_2 * xi_63; - const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; - const float xi_82 = xi_30 + xi_70 + xi_75; - const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; - const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; - const float xi_87 = u_2 * _data_force[_stride_force_0 * ctr_0 + _stride_force_1 * ctr_1 + _stride_force_2 * ctr_2]; - const float xi_88 = xi_87 * 0.25f; - const float xi_90 = xi_62 * xi_87; - const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; - const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; - const float xi_93 = xi_40 - xi_72 + xi_73; - const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; - const float xi_113 = rho * (u_2 * u_2); - const float xi_114 = xi_112 + xi_113 * 0.66666666666666663f + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3]; - const float xi_115 = rho * xi_111 * 1.6666666666666667f + xi_110 * 0.66666666666666663f + xi_114 - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] - 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 3.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_116 = omega_even * xi_115; - const float xi_119 = rho * xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; - const float xi_120 = omega_bulk * xi_119; - const float xi_122 = xi_110 * 2.3333333333333335f + xi_114 + xi_121 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3] - 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - const float xi_123 = omega_even * xi_122; - const float xi_127 = xi_112 + xi_113 * 3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3] - 4.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 5 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3] - 7.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3] + 5.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3]; - const float xi_128 = omega_even * xi_127; - const float xi_130 = xi_128 * 0.01984126984126984f; - const float xi_132 = xi_130 + xi_131; - const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - const float xi_142 = omega_shear * (-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]); - const float xi_143 = xi_142 * 0.125f; - const float xi_144 = -xi_136 - xi_143; - const float xi_168 = xi_116 * 0.050000000000000003f; - const float xi_170 = rho * xi_111 * 2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3] - 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 12 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3] + 2.0f * _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3] - _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - const float xi_171 = omega_shear * xi_170; - const float xi_172 = xi_171 * 0.041666666666666664f; - const float xi_177 = xi_172 + xi_176; - const float xi_178 = xi_168 + xi_169 + xi_177; - const float xi_179 = -xi_130 - xi_131; - const float xi_180 = xi_136 + xi_143; - const float xi_181 = -xi_172 - xi_176; - const float xi_182 = -xi_168 - xi_169 + xi_181; - const float xi_183 = xi_123 * 0.035714285714285712f; - const float xi_196 = xi_123 * 0.021428571428571429f; - const float xi_208 = xi_142 * 0.0625f; - const float xi_209 = xi_128 * 0.013888888888888888f; - const float xi_211 = xi_106 * 0.083333333333333329f + xi_120 * 0.041666666666666664f; - const float xi_212 = xi_171 * 0.020833333333333332f + xi_175 * 0.083333333333333329f + xi_211; - const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; - const float xi_225 = xi_217 * (u_2 * xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 15 * _stride_pdfs_3]); - const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; - const float xi_238 = xi_123 * 0.0071428571428571426f; - const float xi_240 = xi_128 * 0.003968253968253968f; - const float xi_242 = -xi_240 - xi_241; - const float xi_243 = xi_102 * 0.050000000000000003f + xi_116 * 0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; - const float xi_245 = omega_bulk * xi_119 * -0.041666666666666664f + omega_even * xi_115 * -0.025000000000000001f + xi_100 * xi_101 * xi_96 * -0.050000000000000003f + xi_103 * xi_104 * xi_105 * -0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; - const float xi_247 = -xi_208; - const float xi_248 = xi_123 * 0.017857142857142856f; - const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float xi_252 = xi_217 * (rho * u_0 * u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]); - const float xi_253 = -xi_251 - xi_252; - const float xi_259 = xi_251 + xi_252; - const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; - const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; - const float forceTerm_0 = xi_17 * xi_20 - xi_17 + xi_18 * xi_20 - xi_18 + xi_19 * xi_20 - xi_19; - const float forceTerm_1 = xi_21 - xi_23 + xi_32; - const float forceTerm_2 = -xi_21 + xi_23 + xi_32; - const float forceTerm_3 = -xi_33 + xi_35 - xi_38; - const float forceTerm_4 = xi_33 - xi_35 - xi_38; - const float forceTerm_5 = xi_39 - xi_41 + xi_44; - const float forceTerm_6 = -xi_39 + xi_41 + xi_44; - const float forceTerm_7 = -xi_49 - xi_57 - xi_67; - const float forceTerm_8 = -xi_57 - xi_68 - xi_69; - const float forceTerm_9 = -xi_49 - xi_69 - xi_71; - const float forceTerm_10 = -xi_67 - xi_68 - xi_71; - const float forceTerm_11 = -xi_74 - xi_76 - xi_81; - const float forceTerm_12 = -xi_74 - xi_82 - xi_83; - const float forceTerm_13 = -xi_49 - xi_84 - xi_91; - const float forceTerm_14 = -xi_68 - xi_84 - xi_92; - const float forceTerm_15 = -xi_76 - xi_83 - xi_93; - const float forceTerm_16 = -xi_81 - xi_82 - xi_93; - const float forceTerm_17 = -xi_49 - xi_92 - xi_94; - const float forceTerm_18 = -xi_68 - xi_91 - xi_94; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2] = forceTerm_0 + xi_102 * 0.20000000000000001f - xi_106 + xi_109 * 0.085714285714285715f + xi_116 * 0.10000000000000001f + xi_120 * -0.5f + xi_123 * 0.042857142857142858f + xi_128 * 0.023809523809523808f + xi_99 * 0.14285714285714285f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even * xi_122 * 0.014285714285714285f + xi_107 * xi_108 * xi_96 * 0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 2 * _stride_pdfs_tmp_3] = forceTerm_2 + xi_109 * 0.028571428571428571f + xi_123 * 0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 3 * _stride_pdfs_tmp_3] = forceTerm_3 + xi_171 * 0.083333333333333329f + xi_175 * 0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 4 * _stride_pdfs_tmp_3] = forceTerm_4 + omega_shear * xi_170 * 0.083333333333333329f - xi_132 + xi_134 * xi_173 * xi_174 * 0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 5 * _stride_pdfs_tmp_3] = forceTerm_5 + omega_even * xi_127 * 0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96 * xi_97 * xi_98 * 0.095238095238095233f; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 6 * _stride_pdfs_tmp_3] = forceTerm_6 + xi_128 * 0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99 * 0.095238095238095233f + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 6 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 7 * _stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 8 * _stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 9 * _stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 10 * _stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 11 * _stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 - _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 11 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 12 * _stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 13 * _stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 13 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 14 * _stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 - _stride_pdfs_2 + 14 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 15 * _stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 16 * _stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 16 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 17 * _stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 + _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 17 * _stride_pdfs_3]; - _data_pdfs_tmp[_stride_pdfs_tmp_0 * ctr_0 + _stride_pdfs_tmp_1 * ctr_1 + _stride_pdfs_tmp_2 * ctr_2 + 18 * _stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0 * ctr_0 - _stride_pdfs_0 + _stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_2 + 18 * _stride_pdfs_3]; - } + } + const float xi_2 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_3 = xi_2 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_4 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_5 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_6 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_7 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_8 = xi_7 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_9 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_11 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + const float xi_12 = _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_13 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_14 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_15 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_16 = _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_20 = omega_bulk*0.5f; + const float xi_21 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_22 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_33 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_34 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_39 = 0.16666666666666666f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_40 = 0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_47 = omega_shear*0.041666666666666664f; + const float xi_51 = omega_bulk*0.041666666666666664f; + const float xi_58 = 0.25f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_62 = omega_shear*0.125f; + const float xi_63 = xi_62*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_97 = 3.7416573867739413f; + const float xi_98 = random_3_0 - 0.5f; + const float xi_100 = 5.4772255750516612f; + const float xi_101 = random_3_2 - 0.5f; + const float xi_103 = random_1_1 - 0.5f; + const float xi_104 = 2.4494897427831779f; + const float xi_107 = 8.3666002653407556f; + const float xi_108 = random_3_1 - 0.5f; + const float xi_112 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float xi_118 = xi_11 + xi_3; + const float xi_121 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_124 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_125 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_126 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_129 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_133 = random_0_1 - 0.5f; + const float xi_137 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_138 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + const float xi_139 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_140 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_145 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]; + const float xi_146 = xi_14 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_147 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + const float xi_148 = xi_147 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_149 = xi_145 + xi_146 + xi_148 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_150 = omega_odd*0.25f; + const float xi_151 = random_2_3 - 0.5f; + const float xi_155 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + const float xi_156 = -_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3]; + const float xi_157 = 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + const float xi_158 = -2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + const float xi_159 = xi_148 + xi_155 + xi_156 - xi_157 + xi_158 + xi_5 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_160 = omega_odd*0.083333333333333329f; + const float xi_161 = xi_159*xi_160; + const float xi_162 = random_1_2 - 0.5f; + const float xi_173 = 1.7320508075688772f; + const float xi_174 = random_0_0 - 0.5f; + const float xi_185 = xi_15 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float xi_186 = xi_138 + xi_185; + const float xi_187 = xi_186 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_188 = random_2_1 - 0.5f; + const float xi_189 = -_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float xi_190 = -xi_157 - xi_158 - xi_186 - xi_189 - xi_7 + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_191 = xi_160*xi_190; + const float xi_192 = random_2_0 - 0.5f; + const float xi_198 = xi_145 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + const float xi_199 = -xi_139 - xi_198 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + const float xi_200 = random_2_2 - 0.5f; + const float xi_201 = -xi_124 - xi_125 + xi_126 + xi_140 + xi_198 + xi_6; + const float xi_202 = xi_160*xi_201; + const float xi_203 = random_1_3 - 0.5f; + const float xi_217 = omega_shear*0.25f; + const float xi_223 = omega_odd*0.041666666666666664f; + const float xi_224 = xi_159*xi_223; + const float xi_226 = omega_odd*0.125f; + const float xi_227 = xi_149*xi_226; + const float xi_233 = xi_201*xi_223; + const float xi_234 = xi_199*xi_226; + const float xi_254 = xi_187*xi_226; + const float xi_255 = xi_190*xi_223; + const float rr_0 = 0.0f; + const float xi_23 = rr_0*xi_22; + const float xi_35 = rr_0*xi_34; + const float xi_41 = rr_0*xi_40; + const float xi_45 = rr_0*0.041666666666666664f; + const float xi_46 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_50 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_72 = xi_45*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float vel0Term = xi_3 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3]; + const float vel1Term = xi_4 + xi_5; + const float vel2Term = xi_6 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + const float delta_rho = vel0Term + vel1Term + vel2Term + xi_8 + xi_9 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + const float rho = delta_rho + 1.0f; + const float xi_95 = kT*rho; + const float xi_96 = powf(xi_95*(1.0f - ((-omega_even + 1.0f)*(-omega_even + 1.0f))), 0.5f); + const float xi_99 = xi_96*xi_97*xi_98; + const float xi_102 = xi_100*xi_101*xi_96; + const float xi_105 = powf(xi_95*(1.0f - ((-omega_bulk + 1.0f)*(-omega_bulk + 1.0f))), 0.5f); + const float xi_106 = xi_103*xi_104*xi_105; + const float xi_109 = xi_107*xi_108*xi_96; + const float xi_131 = xi_99*0.11904761904761904f; + const float xi_134 = powf(xi_95*(1.0f - ((-omega_shear + 1.0f)*(-omega_shear + 1.0f))), 0.5f); + const float xi_135 = xi_134*0.5f; + const float xi_136 = xi_133*xi_135; + const float xi_152 = powf(xi_95*(1.0f - ((-omega_odd + 1.0f)*(-omega_odd + 1.0f))), 0.5f); + const float xi_153 = xi_152*1.4142135623730951f; + const float xi_154 = xi_153*0.5f; + const float xi_163 = xi_104*xi_152; + const float xi_164 = xi_163*0.16666666666666666f; + const float xi_165 = xi_162*xi_164; + const float xi_166 = xi_161 + xi_165; + const float xi_167 = xi_149*xi_150 + xi_151*xi_154 + xi_166; + const float xi_169 = xi_102*0.10000000000000001f; + const float xi_175 = xi_134*xi_173*xi_174; + const float xi_176 = xi_175*0.16666666666666666f; + const float xi_184 = xi_109*0.071428571428571425f; + const float xi_193 = xi_164*xi_192; + const float xi_194 = xi_191 + xi_193; + const float xi_195 = xi_150*xi_187 + xi_154*xi_188 + xi_194; + const float xi_197 = xi_109*0.042857142857142858f; + const float xi_204 = xi_164*xi_203; + const float xi_205 = xi_202 + xi_204; + const float xi_206 = xi_150*xi_199 + xi_154*xi_200 + xi_205; + const float xi_207 = xi_133*xi_134*0.25f; + const float xi_210 = xi_99*0.083333333333333329f; + const float xi_214 = -xi_191 - xi_193; + const float xi_215 = xi_135*(random_0_2 - 0.5f); + const float xi_222 = xi_135*(random_1_0 - 0.5f); + const float xi_228 = xi_163*0.083333333333333329f; + const float xi_229 = xi_162*xi_228; + const float xi_230 = xi_153*0.25f; + const float xi_231 = xi_151*xi_230; + const float xi_235 = xi_203*xi_228; + const float xi_236 = xi_200*xi_230; + const float xi_237 = -xi_233 + xi_234 - xi_235 + xi_236; + const float xi_239 = xi_109*0.014285714285714285f; + const float xi_241 = xi_99*0.023809523809523808f; + const float xi_244 = xi_233 - xi_234 + xi_235 - xi_236; + const float xi_246 = -xi_207; + const float xi_249 = xi_109*0.035714285714285712f; + const float xi_251 = xi_135*(random_0_3 - 0.5f); + const float xi_256 = xi_188*xi_230; + const float xi_257 = xi_192*xi_228; + const float xi_258 = -xi_254 + xi_255 - xi_256 + xi_257; + const float xi_260 = xi_254 - xi_255 + xi_256 - xi_257; + const float xi_0 = ((1.0f) / (rho)); + const float xi_10 = xi_0*0.5f; + const float u_0 = xi_0*(vel0Term - xi_11 - xi_8) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_17 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_28 = xi_17*0.16666666666666666f; + const float xi_29 = -xi_28; + const float xi_30 = xi_17*0.083333333333333329f; + const float xi_31 = omega_shear*xi_30 + xi_29; + const float xi_48 = xi_17*xi_47 + xi_29; + const float xi_49 = xi_34 - xi_46 + xi_48; + const float xi_52 = xi_17*xi_51; + const float xi_59 = u_0*xi_58; + const float xi_64 = u_0*xi_63; + const float xi_68 = -xi_34 + xi_46 + xi_48; + const float xi_75 = omega_shear*u_0*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_85 = u_0*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_86 = xi_85*0.25f; + const float xi_89 = xi_62*xi_85; + const float xi_111 = u_0*u_0; + const float u_1 = xi_0*(vel1Term - xi_12 - xi_13 - xi_9) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_18 = u_1*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_26 = xi_18*0.16666666666666666f; + const float xi_36 = omega_shear*u_1*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + _stride_force_3]; + const float xi_42 = -xi_26; + const float xi_43 = xi_18*0.083333333333333329f; + const float xi_53 = xi_18*xi_51; + const float xi_60 = u_1*0.25f; + const float xi_61 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_65 = u_1*xi_62; + const float xi_66 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_67 = xi_59 + xi_61 - xi_64 - xi_66; + const float xi_69 = -xi_59 - xi_61 + xi_64 + xi_66; + const float xi_77 = xi_60*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_79 = xi_65*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_110 = rho*(u_1*u_1); + const float xi_117 = -xi_110; + const float xi_216 = rho*u_1; + const float xi_218 = xi_217*(u_0*xi_216 + xi_12 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]); + const float xi_219 = -xi_215 - xi_218; + const float xi_220 = xi_215 + xi_218; + const float u_2 = xi_0*(vel2Term - xi_14 - xi_15 - xi_16 - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]) + xi_10*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_19 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_24 = xi_19*0.16666666666666666f; + const float xi_25 = -xi_24; + const float xi_27 = xi_19*0.083333333333333329f; + const float xi_32 = -omega_shear*xi_26 + omega_shear*xi_27 + xi_18*0.33333333333333331f + xi_25 + xi_31; + const float xi_37 = omega_shear*u_2*-0.083333333333333329f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2 + 2*_stride_force_3]; + const float xi_38 = omega_shear*xi_28 + u_0*-0.33333333333333331f*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2] + xi_24 + xi_26 + xi_36 + xi_37; + const float xi_44 = -omega_shear*xi_24 + omega_shear*xi_43 + xi_19*0.33333333333333331f + xi_31 + xi_42; + const float xi_54 = xi_19*xi_51; + const float xi_55 = xi_18*xi_47 + xi_42 + xi_52 + xi_53 + xi_54; + const float xi_56 = -xi_22 + xi_50 + xi_55; + const float xi_57 = xi_27 + xi_37 + xi_56; + const float xi_70 = xi_22 - xi_50 + xi_55; + const float xi_71 = xi_27 + xi_37 + xi_70; + const float xi_73 = xi_19*xi_47 + xi_25; + const float xi_74 = -xi_40 + xi_72 + xi_73; + const float xi_76 = xi_30 + xi_56 + xi_75; + const float xi_78 = u_2*xi_58; + const float xi_80 = u_2*xi_63; + const float xi_81 = -xi_77 - xi_78 + xi_79 + xi_80; + const float xi_82 = xi_30 + xi_70 + xi_75; + const float xi_83 = xi_77 + xi_78 - xi_79 - xi_80; + const float xi_84 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_74; + const float xi_87 = u_2*_data_force[_stride_force_0*ctr_0 + _stride_force_1*ctr_1 + _stride_force_2*ctr_2]; + const float xi_88 = xi_87*0.25f; + const float xi_90 = xi_62*xi_87; + const float xi_91 = xi_86 + xi_88 - xi_89 - xi_90; + const float xi_92 = -xi_86 - xi_88 + xi_89 + xi_90; + const float xi_93 = xi_40 - xi_72 + xi_73; + const float xi_94 = xi_36 + xi_43 + xi_52 + xi_53 + xi_54 + xi_93; + const float xi_113 = rho*(u_2*u_2); + const float xi_114 = xi_112 + xi_113*0.66666666666666663f + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3]; + const float xi_115 = rho*xi_111*1.6666666666666667f + xi_110*0.66666666666666663f + xi_114 - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] - 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 3.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_116 = omega_even*xi_115; + const float xi_119 = rho*xi_111 - xi_112 + xi_113 - xi_117 - xi_118 - xi_13 - xi_16 - xi_5; + const float xi_120 = omega_bulk*xi_119; + const float xi_122 = xi_110*2.3333333333333335f + xi_114 + xi_121 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3] - 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + const float xi_123 = omega_even*xi_122; + const float xi_127 = xi_112 + xi_113*3.0f + xi_121 + xi_124 + xi_125 + xi_126 - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3] - 4.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 5*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3] - 7.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3] + 5.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_3]; + const float xi_128 = omega_even*xi_127; + const float xi_130 = xi_128*0.01984126984126984f; + const float xi_132 = xi_130 + xi_131; + const float xi_141 = xi_113 + xi_139 + xi_140 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + const float xi_142 = omega_shear*(-xi_117 - xi_137 - xi_138 - xi_141 - xi_15 - xi_2 - xi_4 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]); + const float xi_143 = xi_142*0.125f; + const float xi_144 = -xi_136 - xi_143; + const float xi_168 = xi_116*0.050000000000000003f; + const float xi_170 = rho*xi_111*2.0f - xi_110 - xi_118 - xi_129 - xi_141 - xi_147 - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3] - 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 4*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 12*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3] + 2.0f*_data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3] - _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + const float xi_171 = omega_shear*xi_170; + const float xi_172 = xi_171*0.041666666666666664f; + const float xi_177 = xi_172 + xi_176; + const float xi_178 = xi_168 + xi_169 + xi_177; + const float xi_179 = -xi_130 - xi_131; + const float xi_180 = xi_136 + xi_143; + const float xi_181 = -xi_172 - xi_176; + const float xi_182 = -xi_168 - xi_169 + xi_181; + const float xi_183 = xi_123*0.035714285714285712f; + const float xi_196 = xi_123*0.021428571428571429f; + const float xi_208 = xi_142*0.0625f; + const float xi_209 = xi_128*0.013888888888888888f; + const float xi_211 = xi_106*0.083333333333333329f + xi_120*0.041666666666666664f; + const float xi_212 = xi_171*0.020833333333333332f + xi_175*0.083333333333333329f + xi_211; + const float xi_213 = xi_166 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_221 = -xi_161 - xi_165 + xi_207 + xi_208 + xi_209 + xi_210 + xi_212; + const float xi_225 = xi_217*(u_2*xi_216 + xi_146 + xi_155 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 15*_stride_pdfs_3]); + const float xi_232 = xi_222 - xi_224 + xi_225 + xi_227 - xi_229 + xi_231; + const float xi_238 = xi_123*0.0071428571428571426f; + const float xi_240 = xi_128*0.003968253968253968f; + const float xi_242 = -xi_240 - xi_241; + const float xi_243 = xi_102*0.050000000000000003f + xi_116*0.025000000000000001f + xi_181 + xi_211 - xi_238 - xi_239 + xi_242; + const float xi_245 = omega_bulk*xi_119*-0.041666666666666664f + omega_even*xi_115*-0.025000000000000001f + xi_100*xi_101*xi_96*-0.050000000000000003f + xi_103*xi_104*xi_105*-0.083333333333333329f + xi_177 + xi_238 + xi_239 + xi_240 + xi_241; + const float xi_247 = -xi_208; + const float xi_248 = xi_123*0.017857142857142856f; + const float xi_250 = xi_205 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float xi_252 = xi_217*(rho*u_0*u_2 + xi_137 + xi_185 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]); + const float xi_253 = -xi_251 - xi_252; + const float xi_259 = xi_251 + xi_252; + const float xi_261 = xi_222 + xi_224 + xi_225 - xi_227 + xi_229 - xi_231; + const float xi_262 = -xi_202 - xi_204 + xi_212 + xi_242 + xi_246 + xi_247 + xi_248 + xi_249; + const float forceTerm_0 = xi_17*xi_20 - xi_17 + xi_18*xi_20 - xi_18 + xi_19*xi_20 - xi_19; + const float forceTerm_1 = xi_21 - xi_23 + xi_32; + const float forceTerm_2 = -xi_21 + xi_23 + xi_32; + const float forceTerm_3 = -xi_33 + xi_35 - xi_38; + const float forceTerm_4 = xi_33 - xi_35 - xi_38; + const float forceTerm_5 = xi_39 - xi_41 + xi_44; + const float forceTerm_6 = -xi_39 + xi_41 + xi_44; + const float forceTerm_7 = -xi_49 - xi_57 - xi_67; + const float forceTerm_8 = -xi_57 - xi_68 - xi_69; + const float forceTerm_9 = -xi_49 - xi_69 - xi_71; + const float forceTerm_10 = -xi_67 - xi_68 - xi_71; + const float forceTerm_11 = -xi_74 - xi_76 - xi_81; + const float forceTerm_12 = -xi_74 - xi_82 - xi_83; + const float forceTerm_13 = -xi_49 - xi_84 - xi_91; + const float forceTerm_14 = -xi_68 - xi_84 - xi_92; + const float forceTerm_15 = -xi_76 - xi_83 - xi_93; + const float forceTerm_16 = -xi_81 - xi_82 - xi_93; + const float forceTerm_17 = -xi_49 - xi_92 - xi_94; + const float forceTerm_18 = -xi_68 - xi_91 - xi_94; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2] = forceTerm_0 + xi_102*0.20000000000000001f - xi_106 + xi_109*0.085714285714285715f + xi_116*0.10000000000000001f + xi_120*-0.5f + xi_123*0.042857142857142858f + xi_128*0.023809523809523808f + xi_99*0.14285714285714285f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + _stride_pdfs_tmp_3] = forceTerm_1 + omega_even*xi_122*0.014285714285714285f + xi_107*xi_108*xi_96*0.028571428571428571f - xi_129 - xi_132 - xi_144 - xi_167 - xi_178; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 2*_stride_pdfs_tmp_3] = forceTerm_2 + xi_109*0.028571428571428571f + xi_123*0.014285714285714285f + xi_167 + xi_179 + xi_180 + xi_182 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 2*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 3*_stride_pdfs_tmp_3] = forceTerm_3 + xi_171*0.083333333333333329f + xi_175*0.33333333333333331f + xi_179 - xi_183 - xi_184 + xi_195 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + 3*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 4*_stride_pdfs_tmp_3] = forceTerm_4 + omega_shear*xi_170*0.083333333333333329f - xi_132 + xi_134*xi_173*xi_174*0.33333333333333331f - xi_183 - xi_184 - xi_189 - xi_195; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 5*_stride_pdfs_tmp_3] = forceTerm_5 + omega_even*xi_127*0.015873015873015872f - xi_139 - xi_178 - xi_180 - xi_196 - xi_197 - xi_206 + xi_96*xi_97*xi_98*0.095238095238095233f; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 6*_stride_pdfs_tmp_3] = forceTerm_6 + xi_128*0.015873015873015872f + xi_144 + xi_182 - xi_196 - xi_197 + xi_206 + xi_99*0.095238095238095233f + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 6*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 7*_stride_pdfs_tmp_3] = forceTerm_7 + xi_213 + xi_214 + xi_219 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 7*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 8*_stride_pdfs_tmp_3] = forceTerm_8 + xi_194 + xi_213 + xi_220 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 8*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 9*_stride_pdfs_tmp_3] = forceTerm_9 + xi_214 + xi_220 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 9*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 10*_stride_pdfs_tmp_3] = forceTerm_10 + xi_194 + xi_219 + xi_221 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + 10*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 11*_stride_pdfs_tmp_3] = forceTerm_11 + xi_232 + xi_237 + xi_243 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 - _stride_pdfs_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 11*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 12*_stride_pdfs_tmp_3] = forceTerm_12 - xi_156 - xi_232 - xi_244 - xi_245; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 13*_stride_pdfs_tmp_3] = forceTerm_13 + xi_250 + xi_253 + xi_258 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 13*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 14*_stride_pdfs_tmp_3] = forceTerm_14 + xi_250 + xi_259 + xi_260 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 - _stride_pdfs_2 + 14*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 15*_stride_pdfs_tmp_3] = forceTerm_15 - xi_145 - xi_237 - xi_245 - xi_261; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 16*_stride_pdfs_tmp_3] = forceTerm_16 + xi_243 + xi_244 + xi_261 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 16*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 17*_stride_pdfs_tmp_3] = forceTerm_17 + xi_258 + xi_259 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 + _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 17*_stride_pdfs_3]; + _data_pdfs_tmp[_stride_pdfs_tmp_0*ctr_0 + _stride_pdfs_tmp_1*ctr_1 + _stride_pdfs_tmp_2*ctr_2 + 18*_stride_pdfs_tmp_3] = forceTerm_18 + xi_253 + xi_260 + xi_262 + _data_pdfs[_stride_pdfs_0*ctr_0 - _stride_pdfs_0 + _stride_pdfs_1*ctr_1 + _stride_pdfs_2*ctr_2 + _stride_pdfs_2 + 18*_stride_pdfs_3]; + } +} } -} // namespace internal_streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda -void StreamCollideSweepThermalizedSinglePrecisionCUDA::run(IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; +void StreamCollideSweepThermalizedSinglePrecisionCUDA::run(IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_0 = this->block_offset_0_; - auto &kT = this->kT_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &seed = this->seed_; - auto &time_step = this->time_step_; - auto &omega_shear = this->omega_shear_; - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda::streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_even = this->omega_even_; + auto & omega_odd = this->omega_odd_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_bulk = this->omega_bulk_; + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(-1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(-1, -1, -1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda::streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); + } -void StreamCollideSweepThermalizedSinglePrecisionCUDA::runOnCellInterval(const shared_ptr &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block, gpuStream_t stream) { - if (!this->configured_) - WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") - CellInterval ci = globalCellInterval; - CellInterval blockBB = blocks->getBlockCellBB(*block); - blockBB.expand(ghostLayers); - ci.intersect(blockBB); - blocks->transformGlobalToBlockLocalCellInterval(ci, *block); - if (ci.empty()) - return; +void StreamCollideSweepThermalizedSinglePrecisionCUDA::runOnCellInterval(const shared_ptr & blocks, const CellInterval & globalCellInterval, cell_idx_t ghostLayers, IBlock * block, gpuStream_t stream) +{ + if (!this->configured_) + WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually") + + CellInterval ci = globalCellInterval; + CellInterval blockBB = blocks->getBlockCellBB( *block); + blockBB.expand( ghostLayers ); + ci.intersect( blockBB ); + blocks->transformGlobalToBlockLocalCellInterval( ci, *block ); + if( ci.empty() ) + return; - auto force = block->getData>(forceID); - auto pdfs = block->getData>(pdfsID); - gpu::GPUField *pdfs_tmp; - { - if (cache_pdfs_.find(block) == cache_pdfs_.end()) { - pdfs_tmp = pdfs->cloneUninitialized(); - cache_pdfs_[block] = pdfs_tmp; - } else { - pdfs_tmp = cache_pdfs_[block]; + auto pdfs = block->getData< gpu::GPUField >(pdfsID); + auto force = block->getData< gpu::GPUField >(forceID); + gpu::GPUField * pdfs_tmp; + { + if (cache_pdfs_.find(block) == cache_pdfs_.end()) + { + pdfs_tmp = pdfs->cloneUninitialized(); + cache_pdfs_[block] = pdfs_tmp; + } + else + { + pdfs_tmp = cache_pdfs_[block]; + } } - } - auto &omega_even = this->omega_even_; - auto &block_offset_0 = this->block_offset_0_; - auto &kT = this->kT_; - auto &omega_bulk = this->omega_bulk_; - auto &block_offset_2 = this->block_offset_2_; - auto &block_offset_1 = this->block_offset_1_; - auto &omega_odd = this->omega_odd_; - auto &seed = this->seed_; - auto &time_step = this->time_step_; - auto &omega_shear = this->omega_shear_; - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) - float *RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) - float *RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) - float *RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); - WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) - const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) - const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) - const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); - WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) - const int64_t _stride_force_0 = int64_t(force->xStride()); - const int64_t _stride_force_1 = int64_t(force->yStride()); - const int64_t _stride_force_2 = int64_t(force->zStride()); - const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); - const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); - const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); - const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); - const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); - const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); - const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); - const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); - const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); - dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); - dim3 _grid(uint32_c(((_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ((int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))) + 1)), uint32_c(((_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ((int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) + 1)), uint32_c(((_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ((int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2) * ((_size_force_1 - 2 < 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2 * ((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))) + 1))); - internal_streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda::streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); - pdfs->swapDataPointers(pdfs_tmp); + auto & seed = this->seed_; + auto & block_offset_0 = this->block_offset_0_; + auto & block_offset_2 = this->block_offset_2_; + auto & omega_even = this->omega_even_; + auto & omega_odd = this->omega_odd_; + auto & omega_shear = this->omega_shear_; + auto & kT = this->kT_; + auto & time_step = this->time_step_; + auto & block_offset_1 = this->block_offset_1_; + auto & omega_bulk = this->omega_bulk_; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(force->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(force->nrOfGhostLayers())) + float * RESTRICT const _data_force = force->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs->nrOfGhostLayers())) + float * RESTRICT const _data_pdfs = pdfs->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin() - 1, -int_c(pdfs_tmp->nrOfGhostLayers())) + float * RESTRICT _data_pdfs_tmp = pdfs_tmp->dataAt(ci.xMin() - 1, ci.yMin() - 1, ci.zMin() - 1, 0); + WALBERLA_ASSERT_EQUAL(pdfs_tmp->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 2)) + const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 2)) + const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 2)) + const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 2); + WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx) + const int64_t _stride_force_0 = int64_t(force->xStride()); + const int64_t _stride_force_1 = int64_t(force->yStride()); + const int64_t _stride_force_2 = int64_t(force->zStride()); + const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride())); + const int64_t _stride_pdfs_0 = int64_t(pdfs->xStride()); + const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride()); + const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride()); + const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride())); + const int64_t _stride_pdfs_tmp_0 = int64_t(pdfs_tmp->xStride()); + const int64_t _stride_pdfs_tmp_1 = int64_t(pdfs_tmp->yStride()); + const int64_t _stride_pdfs_tmp_2 = int64_t(pdfs_tmp->zStride()); + const int64_t _stride_pdfs_tmp_3 = int64_t(1 * int64_t(pdfs_tmp->fStride())); + dim3 _block(uint32_c(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)), uint32_c(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))), uint32_c(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))))); + dim3 _grid(uint32_c(( (_size_force_0 - 2) % (((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) == 0 ? (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) : ( (int64_t)(_size_force_0 - 2) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)) ) +1 )), uint32_c(( (_size_force_1 - 2) % (((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) == 0 ? (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) : ( (int64_t)(_size_force_1 - 2) / (int64_t)(((1024 < ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))) ? 1024 : ((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))) ) +1 )), uint32_c(( (_size_force_2 - 2) % (((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) == 0 ? (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) : ( (int64_t)(_size_force_2 - 2) / (int64_t)(((64 < ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))))))) ? 64 : ((_size_force_2 - 2 < ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))) ? _size_force_2 - 2 : ((int64_t)(256) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)*((_size_force_1 - 2 < 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2)))) ? _size_force_1 - 2 : 2*((int64_t)(128) / (int64_t)(((128 < _size_force_0 - 2) ? 128 : _size_force_0 - 2))))))))) ) +1 ))); + internal_streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda::streamcollidesweepthermalizedsingleprecisioncuda_streamcollidesweepthermalizedsingleprecisioncuda<<<_grid, _block, 0, stream>>>(_data_force, _data_pdfs, _data_pdfs_tmp, _size_force_0, _size_force_1, _size_force_2, _stride_force_0, _stride_force_1, _stride_force_2, _stride_force_3, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, _stride_pdfs_tmp_0, _stride_pdfs_tmp_1, _stride_pdfs_tmp_2, _stride_pdfs_tmp_3, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step); + pdfs->swapDataPointers(pdfs_tmp); + } + + } // namespace pystencils } // namespace walberla -#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG) -#pragma GCC diagnostic pop + +#if ( defined WALBERLA_CXX_COMPILER_IS_GNU ) || ( defined WALBERLA_CXX_COMPILER_IS_CLANG ) +# pragma GCC diagnostic pop #endif -#if (defined WALBERLA_CXX_COMPILER_IS_INTEL) +#if ( defined WALBERLA_CXX_COMPILER_IS_INTEL ) #pragma warning pop #endif