Loading [MathJax]/extensions/TeX/AMSmath.js
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
CollideSweepDoublePrecisionThermalizedAVX.cpp
Go to the documentation of this file.
1//======================================================================================================================
2//
3// This file is part of waLBerla. waLBerla is free software: you can
4// redistribute it and/or modify it under the terms of the GNU General Public
5// License as published by the Free Software Foundation, either version 3 of
6// the License, or (at your option) any later version.
7//
8// waLBerla is distributed in the hope that it will be useful, but WITHOUT
9// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
11// for more details.
12//
13// You should have received a copy of the GNU General Public License along
14// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
15//
16//! \\file CollideSweepDoublePrecisionThermalizedAVX.cpp
17//! \\author pystencils
18//======================================================================================================================
19
20// kernel generated with pystencils v1.3.3, lbmpy v1.3.3, lbmpy_walberla/pystencils_walberla from waLBerla commit b0842e1a493ce19ef1bbb8d2cf382fc343970a7f
21
22#include <cmath>
23
25#include "core/DataTypes.h"
26#include "core/Macros.h"
27
28#include "philox_rand.h"
29
30#include <immintrin.h>
31
32#define FUNC_PREFIX
33
34#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG)
35#pragma GCC diagnostic push
36#pragma GCC diagnostic ignored "-Wfloat-equal"
37#pragma GCC diagnostic ignored "-Wshadow"
38#pragma GCC diagnostic ignored "-Wconversion"
39#pragma GCC diagnostic ignored "-Wunused-variable"
40#endif
41
42#if (defined WALBERLA_CXX_COMPILER_IS_INTEL)
43#pragma warning push
44#pragma warning(disable : 1599)
45#endif
46
47using namespace std;
48
49namespace walberla {
50namespace pystencils {
51
52namespace internal_25bc51f30ec2c20f3ee9796f7dcb65c6 {
53static FUNC_PREFIX void collidesweepdoubleprecisionthermalizedavx_collidesweepdoubleprecisionthermalizedavx(double *RESTRICT const _data_force, double *RESTRICT _data_pdfs, 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, 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) {
54 const double xi_28 = omega_bulk * 0.5;
55 const double xi_55 = omega_shear * 0.041666666666666664;
56 const double xi_60 = omega_bulk * 0.041666666666666664;
57 const double xi_71 = omega_shear * 0.125;
58 const double xi_109 = 2.4494897427831779;
59 const double xi_134 = omega_odd * 0.25;
60 const double xi_145 = omega_odd * 0.083333333333333329;
61 const double xi_198 = omega_shear * 0.25;
62 const double xi_211 = omega_odd * 0.041666666666666664;
63 const double xi_213 = omega_odd * 0.125;
64 const double rr_0 = 0.0;
65 const double xi_53 = rr_0 * 0.041666666666666664;
66 for (int64_t ctr_2 = 0; ctr_2 < _size_force_2; ctr_2 += 1) {
67 for (int64_t ctr_1 = 0; ctr_1 < _size_force_1; ctr_1 += 1) {
68 {
69 for (int64_t ctr_0 = 0; ctr_0 < (int64_t)((_size_force_0) / (4)) * (4); ctr_0 += 4) {
70 const __m256d xi_244 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0]);
71 const __m256d xi_245 = _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0]);
72 const __m256d xi_246 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 18 * _stride_pdfs_3 + ctr_0]);
73 const __m256d xi_247 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0]);
74 const __m256d xi_248 = _mm256_load_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0]);
75 const __m256d xi_249 = _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0]);
76 const __m256d xi_250 = _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0]);
77 const __m256d xi_251 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 14 * _stride_pdfs_3 + ctr_0]);
78 const __m256d xi_252 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 13 * _stride_pdfs_3 + ctr_0]);
79 const __m256d xi_253 = _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 16 * _stride_pdfs_3 + ctr_0]);
80 const __m256d xi_254 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0]);
81 const __m256d xi_255 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 15 * _stride_pdfs_3 + ctr_0]);
82 const __m256d xi_256 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 5 * _stride_pdfs_3 + ctr_0]);
83 const __m256d xi_257 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0]);
84 const __m256d xi_258 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0]);
85 const __m256d xi_259 = _mm256_loadu_pd(&_data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0]);
86 const __m256d xi_260 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0]);
87 const __m256d xi_261 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 17 * _stride_pdfs_3 + ctr_0]);
88 const __m256d xi_262 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 6 * _stride_pdfs_3 + ctr_0]);
89 const __m256d xi_263 = _mm256_loadu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 11 * _stride_pdfs_3 + ctr_0]);
90 const __m256d xi_264 = _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0]);
91 const __m256d xi_265 = _mm256_load_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 12 * _stride_pdfs_3 + ctr_0]);
92
93 __m256d random_7_0{};
94 __m256d random_7_1{};
95 if (kT > 0.) {
96 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);
97 }
98
99 __m256d random_6_0{};
100 __m256d random_6_1{};
101 if (kT > 0.) {
102 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);
103 }
104
105 __m256d random_5_0{};
106 __m256d random_5_1{};
107 if (kT > 0.) {
108 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);
109 }
110
111 __m256d random_4_0{};
112 __m256d random_4_1{};
113 if (kT > 0.) {
114 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);
115 }
116
117 __m256d random_3_0{};
118 __m256d random_3_1{};
119 if (kT > 0.) {
120 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);
121 }
122
123 __m256d random_2_0{};
124 __m256d random_2_1{};
125 if (kT > 0.) {
126 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);
127 }
128
129 __m256d random_1_0{};
130 __m256d random_1_1{};
131 if (kT > 0.) {
132 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);
133 }
134
135 __m256d random_0_0{};
136 __m256d random_0_1{};
137 if (kT > 0.) {
138 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);
139 }
140 const __m256d xi_2 = _mm256_add_pd(xi_246, xi_251);
141 const __m256d xi_3 = _mm256_add_pd(xi_2, xi_249);
142 const __m256d xi_4 = _mm256_add_pd(_mm256_add_pd(xi_244, xi_255), xi_263);
143 const __m256d xi_5 = _mm256_add_pd(xi_256, xi_265);
144 const __m256d xi_6 = _mm256_add_pd(xi_261, xi_262);
145 const __m256d xi_8 = _mm256_mul_pd(xi_257, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
146 const __m256d xi_9 = _mm256_mul_pd(xi_254, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
147 const __m256d xi_10 = _mm256_mul_pd(xi_261, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
148 const __m256d xi_11 = _mm256_mul_pd(xi_252, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
149 const __m256d xi_12 = _mm256_mul_pd(xi_258, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
150 const __m256d xi_13 = _mm256_add_pd(_mm256_add_pd(xi_10, xi_11), xi_12);
151 const __m256d xi_14 = _mm256_mul_pd(xi_260, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
152 const __m256d xi_15 = _mm256_mul_pd(xi_247, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
153 const __m256d xi_16 = _mm256_add_pd(xi_14, xi_15);
154 const __m256d xi_17 = _mm256_mul_pd(xi_253, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
155 const __m256d xi_18 = _mm256_mul_pd(xi_265, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
156 const __m256d xi_19 = _mm256_add_pd(xi_17, xi_18);
157 const __m256d xi_20 = _mm256_mul_pd(xi_246, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
158 const __m256d xi_21 = _mm256_add_pd(xi_10, xi_20);
159 const __m256d xi_22 = _mm256_mul_pd(xi_255, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
160 const __m256d xi_23 = _mm256_mul_pd(xi_262, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
161 const __m256d xi_24 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_17, xi_22), xi_23), xi_263);
162 const __m256d xi_29 = _mm256_mul_pd(xi_250, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666));
163 const __m256d xi_30 = _mm256_mul_pd(xi_250, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
164 const __m256d xi_42 = _mm256_mul_pd(xi_248, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666));
165 const __m256d xi_43 = _mm256_mul_pd(xi_248, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
166 const __m256d xi_49 = _mm256_mul_pd(xi_259, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666));
167 const __m256d xi_50 = _mm256_mul_pd(xi_259, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
168 const __m256d xi_67 = _mm256_mul_pd(xi_250, _mm256_set_pd(0.25, 0.25, 0.25, 0.25));
169 const __m256d xi_72 = _mm256_mul_pd(xi_250, _mm256_set_pd(xi_71, xi_71, xi_71, xi_71));
170 const __m256d xi_114 = _mm256_mul_pd(xi_264, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
171 const __m256d xi_118 = _mm256_mul_pd(xi_263, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
172 const __m256d xi_119 = _mm256_add_pd(xi_118, xi_18);
173 const __m256d xi_120 = _mm256_add_pd(_mm256_mul_pd(xi_245, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_8);
174 const __m256d xi_122 = _mm256_mul_pd(xi_251, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
175 const __m256d xi_123 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_11, xi_122), xi_15), xi_21);
176 const __m256d xi_125 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_253, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)), _mm256_mul_pd(xi_255, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(xi_263, _mm256_set_pd(2.0, 2.0, 2.0, 2.0))), _mm256_mul_pd(xi_265, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)));
177 const __m256d xi_126 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_249, _mm256_set_pd(5.0, 5.0, 5.0, 5.0)), _mm256_mul_pd(xi_258, _mm256_set_pd(5.0, 5.0, 5.0, 5.0))), xi_125);
178 const __m256d xi_128 = _mm256_mul_pd(xi_252, _mm256_set_pd(2.0, 2.0, 2.0, 2.0));
179 const __m256d xi_129 = _mm256_mul_pd(xi_251, _mm256_set_pd(2.0, 2.0, 2.0, 2.0));
180 const __m256d xi_130 = _mm256_add_pd(_mm256_mul_pd(xi_246, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)), _mm256_mul_pd(xi_261, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)));
181 const __m256d xi_132 = _mm256_add_pd(xi_118, xi_265);
182 const __m256d xi_133 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_132, xi_14), xi_22), xi_244), xi_253);
183 const __m256d xi_135 = _mm256_mul_pd(xi_133, _mm256_set_pd(xi_134, xi_134, xi_134, xi_134));
184 const __m256d xi_136 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_1);
185 const __m256d xi_141 = _mm256_mul_pd(xi_254, _mm256_set_pd(2.0, 2.0, 2.0, 2.0));
186 const __m256d xi_142 = _mm256_mul_pd(xi_247, _mm256_set_pd(2.0, 2.0, 2.0, 2.0));
187 const __m256d xi_143 = _mm256_add_pd(_mm256_mul_pd(xi_257, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)), _mm256_mul_pd(xi_245, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0)));
188 const __m256d xi_144 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_141, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_14), xi_142), xi_143), xi_19), xi_4);
189 const __m256d xi_146 = _mm256_mul_pd(xi_144, _mm256_set_pd(xi_145, xi_145, xi_145, xi_145));
190 const __m256d xi_147 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_0);
191 const __m256d xi_152 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_1);
192 const __m256d xi_166 = _mm256_add_pd(xi_122, xi_252);
193 const __m256d xi_167 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_12, xi_166), xi_20), xi_249), xi_261);
194 const __m256d xi_168 = _mm256_mul_pd(xi_167, _mm256_set_pd(xi_134, xi_134, xi_134, xi_134));
195 const __m256d xi_169 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_1);
196 const __m256d xi_171 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_142, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_13), xi_141), xi_143), xi_3);
197 const __m256d xi_172 = _mm256_mul_pd(xi_171, _mm256_set_pd(xi_145, xi_145, xi_145, xi_145));
198 const __m256d xi_173 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_4_0);
199 const __m256d xi_178 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_119, xi_23), xi_253), xi_255), xi_256);
200 const __m256d xi_179 = _mm256_mul_pd(xi_178, _mm256_set_pd(xi_134, xi_134, xi_134, xi_134));
201 const __m256d xi_180 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_5_0);
202 const __m256d xi_182 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_128, _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))), xi_130), xi_24), xi_5);
203 const __m256d xi_183 = _mm256_mul_pd(xi_182, _mm256_set_pd(xi_145, xi_145, xi_145, xi_145));
204 const __m256d xi_184 = _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_3_1);
205 const __m256d xi_212 = _mm256_mul_pd(xi_182, _mm256_set_pd(xi_211, xi_211, xi_211, xi_211));
206 const __m256d xi_214 = _mm256_mul_pd(xi_178, _mm256_set_pd(xi_213, xi_213, xi_213, xi_213));
207 const __m256d xi_220 = _mm256_mul_pd(xi_144, _mm256_set_pd(xi_211, xi_211, xi_211, xi_211));
208 const __m256d xi_221 = _mm256_mul_pd(xi_133, _mm256_set_pd(xi_213, xi_213, xi_213, xi_213));
209 const __m256d xi_235 = _mm256_mul_pd(xi_167, _mm256_set_pd(xi_213, xi_213, xi_213, xi_213));
210 const __m256d xi_236 = _mm256_mul_pd(xi_171, _mm256_set_pd(xi_211, xi_211, xi_211, xi_211));
211 const __m256d xi_31 = _mm256_mul_pd(xi_30, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0));
212 const __m256d xi_44 = _mm256_mul_pd(xi_43, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0));
213 const __m256d xi_51 = _mm256_mul_pd(xi_50, _mm256_set_pd(rr_0, rr_0, rr_0, rr_0));
214 const __m256d xi_54 = _mm256_mul_pd(xi_248, _mm256_set_pd(xi_53, xi_53, xi_53, xi_53));
215 const __m256d xi_59 = _mm256_mul_pd(xi_250, _mm256_set_pd(xi_53, xi_53, xi_53, xi_53));
216 const __m256d xi_81 = _mm256_mul_pd(xi_259, _mm256_set_pd(xi_53, xi_53, xi_53, xi_53));
217 const __m256d vel0Term = _mm256_add_pd(_mm256_add_pd(xi_245, xi_247), xi_3);
218 const __m256d vel1Term = _mm256_add_pd(xi_254, xi_4);
219 const __m256d vel2Term = _mm256_add_pd(xi_252, xi_5);
220 const __m256d 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(vel0Term, vel1Term), vel2Term), xi_253), xi_257), xi_258), xi_260), xi_264), xi_6);
221 const __m256d xi_105 = _mm256_mul_pd(rho, _mm256_set_pd(kT, kT, kT, kT));
222 const __m256d xi_106 = _mm256_sqrt_pd(_mm256_mul_pd(xi_105, _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))));
223 const __m256d xi_107 = _mm256_mul_pd(_mm256_mul_pd(xi_106, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_0)), _mm256_set_pd(3.7416573867739413, 3.7416573867739413, 3.7416573867739413, 3.7416573867739413));
224 const __m256d xi_108 = _mm256_mul_pd(_mm256_mul_pd(xi_106, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_7_0)), _mm256_set_pd(5.4772255750516612, 5.4772255750516612, 5.4772255750516612, 5.4772255750516612));
225 const __m256d xi_110 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_1), _mm256_set_pd(xi_109, xi_109, xi_109, xi_109)), _mm256_sqrt_pd(_mm256_mul_pd(xi_105, _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)))));
226 const __m256d xi_111 = _mm256_mul_pd(_mm256_mul_pd(xi_106, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_6_1)), _mm256_set_pd(8.3666002653407556, 8.3666002653407556, 8.3666002653407556, 8.3666002653407556));
227 const __m256d xi_137 = _mm256_sqrt_pd(_mm256_mul_pd(xi_105, _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))));
228 const __m256d xi_138 = _mm256_mul_pd(xi_137, _mm256_set_pd(1.4142135623730951, 1.4142135623730951, 1.4142135623730951, 1.4142135623730951));
229 const __m256d xi_139 = _mm256_mul_pd(xi_138, _mm256_set_pd(0.5, 0.5, 0.5, 0.5));
230 const __m256d xi_140 = _mm256_mul_pd(xi_136, xi_139);
231 const __m256d xi_148 = _mm256_mul_pd(xi_137, _mm256_set_pd(xi_109, xi_109, xi_109, xi_109));
232 const __m256d xi_149 = _mm256_mul_pd(xi_148, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666));
233 const __m256d xi_150 = _mm256_mul_pd(xi_147, xi_149);
234 const __m256d xi_151 = _mm256_add_pd(_mm256_mul_pd(xi_146, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_150, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)));
235 const __m256d xi_153 = _mm256_sqrt_pd(_mm256_mul_pd(xi_105, _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))));
236 const __m256d xi_154 = _mm256_mul_pd(xi_153, _mm256_set_pd(0.5, 0.5, 0.5, 0.5));
237 const __m256d xi_155 = _mm256_mul_pd(xi_152, xi_154);
238 const __m256d xi_161 = _mm256_mul_pd(_mm256_mul_pd(xi_153, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_0_0)), _mm256_set_pd(1.7320508075688772, 1.7320508075688772, 1.7320508075688772, 1.7320508075688772));
239 const __m256d xi_165 = _mm256_add_pd(xi_146, xi_150);
240 const __m256d xi_170 = _mm256_mul_pd(xi_139, xi_169);
241 const __m256d xi_174 = _mm256_mul_pd(xi_149, xi_173);
242 const __m256d xi_175 = _mm256_add_pd(xi_172, xi_174);
243 const __m256d xi_177 = _mm256_add_pd(_mm256_mul_pd(xi_172, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_174, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)));
244 const __m256d xi_181 = _mm256_mul_pd(xi_139, xi_180);
245 const __m256d xi_185 = _mm256_mul_pd(xi_149, xi_184);
246 const __m256d xi_186 = _mm256_add_pd(_mm256_mul_pd(xi_183, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_185, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)));
247 const __m256d xi_188 = _mm256_add_pd(xi_183, xi_185);
248 const __m256d xi_189 = _mm256_mul_pd(_mm256_mul_pd(xi_152, xi_153), _mm256_set_pd(0.25, 0.25, 0.25, 0.25));
249 const __m256d xi_192 = _mm256_mul_pd(xi_107, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
250 const __m256d xi_196 = _mm256_mul_pd(xi_154, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_0));
251 const __m256d xi_203 = _mm256_mul_pd(xi_154, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_2_0));
252 const __m256d xi_207 = _mm256_mul_pd(xi_111, _mm256_set_pd(-0.014285714285714285, -0.014285714285714285, -0.014285714285714285, -0.014285714285714285));
253 const __m256d xi_208 = _mm256_mul_pd(xi_108, _mm256_set_pd(0.050000000000000003, 0.050000000000000003, 0.050000000000000003, 0.050000000000000003));
254 const __m256d xi_215 = _mm256_mul_pd(xi_148, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
255 const __m256d xi_216 = _mm256_mul_pd(xi_184, xi_215);
256 const __m256d xi_217 = _mm256_mul_pd(xi_138, _mm256_set_pd(0.25, 0.25, 0.25, 0.25));
257 const __m256d xi_218 = _mm256_mul_pd(xi_180, xi_217);
258 const __m256d xi_219 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_212, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_216, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_214), xi_218);
259 const __m256d xi_222 = _mm256_mul_pd(xi_147, xi_215);
260 const __m256d xi_223 = _mm256_mul_pd(xi_136, xi_217);
261 const __m256d xi_224 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_220, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_222, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_221), xi_223);
262 const __m256d xi_225 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_221, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_223, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_220), xi_222);
263 const __m256d xi_227 = _mm256_mul_pd(xi_189, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
264 const __m256d xi_230 = _mm256_mul_pd(xi_111, _mm256_set_pd(0.035714285714285712, 0.035714285714285712, 0.035714285714285712, 0.035714285714285712));
265 const __m256d xi_232 = _mm256_mul_pd(xi_154, _mm256_add_pd(_mm256_set_pd(-0.5, -0.5, -0.5, -0.5), random_1_1));
266 const __m256d xi_237 = _mm256_mul_pd(xi_169, xi_217);
267 const __m256d xi_238 = _mm256_mul_pd(xi_173, xi_215);
268 const __m256d xi_239 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_235, _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))), xi_236), xi_238);
269 const __m256d xi_241 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_236, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_238, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_235), xi_237);
270 const __m256d xi_242 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_214, _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))), xi_212), xi_216);
271 const __m256d xi_0 = _mm256_div_pd(_mm256_set_pd(1.0, 1.0, 1.0, 1.0), rho);
272 const __m256d xi_7 = _mm256_mul_pd(xi_0, _mm256_set_pd(0.5, 0.5, 0.5, 0.5));
273 const __m256d u_0 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel0Term, xi_13), xi_8), xi_9)), _mm256_mul_pd(xi_248, xi_7));
274 const __m256d xi_25 = _mm256_mul_pd(u_0, xi_248);
275 const __m256d xi_37 = _mm256_mul_pd(xi_25, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666));
276 const __m256d xi_38 = _mm256_mul_pd(xi_25, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
277 const __m256d xi_39 = _mm256_mul_pd(xi_38, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear));
278 const __m256d xi_40 = _mm256_add_pd(_mm256_mul_pd(xi_37, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_39);
279 const __m256d xi_56 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_25, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(xi_55, xi_55, xi_55, xi_55)), xi_37);
280 const __m256d xi_57 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_43, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_54), xi_56);
281 const __m256d xi_61 = _mm256_mul_pd(_mm256_mul_pd(xi_25, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(xi_60, xi_60, xi_60, xi_60));
282 const __m256d xi_68 = _mm256_mul_pd(u_0, xi_67);
283 const __m256d xi_73 = _mm256_mul_pd(u_0, xi_72);
284 const __m256d xi_77 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_54, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_43), xi_56);
285 const __m256d xi_84 = _mm256_mul_pd(xi_38, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
286 const __m256d xi_95 = _mm256_mul_pd(u_0, xi_259);
287 const __m256d xi_96 = _mm256_mul_pd(xi_95, _mm256_set_pd(0.25, 0.25, 0.25, 0.25));
288 const __m256d xi_99 = _mm256_mul_pd(xi_95, _mm256_set_pd(xi_71, xi_71, xi_71, xi_71));
289 const __m256d xi_113 = _mm256_mul_pd(rho, _mm256_mul_pd(u_0, u_0));
290 const __m256d u_1 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel1Term, xi_16), xi_19), xi_245), xi_8)), _mm256_mul_pd(xi_250, xi_7));
291 const __m256d xi_26 = _mm256_mul_pd(u_1, xi_250);
292 const __m256d xi_32 = _mm256_mul_pd(xi_26, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666));
293 const __m256d xi_45 = _mm256_mul_pd(xi_26, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
294 const __m256d xi_46 = _mm256_mul_pd(xi_45, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear));
295 const __m256d xi_47 = _mm256_add_pd(_mm256_mul_pd(xi_32, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_46);
296 const __m256d xi_62 = _mm256_mul_pd(_mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(xi_60, xi_60, xi_60, xi_60));
297 const __m256d xi_69 = _mm256_mul_pd(u_1, _mm256_set_pd(0.25, 0.25, 0.25, 0.25));
298 const __m256d xi_70 = _mm256_mul_pd(xi_248, xi_69);
299 const __m256d xi_74 = _mm256_mul_pd(u_1, _mm256_set_pd(xi_71, xi_71, xi_71, xi_71));
300 const __m256d xi_75 = _mm256_mul_pd(xi_248, xi_74);
301 const __m256d xi_76 = _mm256_add_pd(_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_70, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_73), xi_75);
302 const __m256d xi_78 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_73, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_75, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_68), xi_70);
303 const __m256d xi_86 = _mm256_mul_pd(xi_259, xi_69);
304 const __m256d xi_88 = _mm256_mul_pd(xi_259, xi_74);
305 const __m256d xi_93 = _mm256_mul_pd(xi_45, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
306 const __m256d xi_112 = _mm256_mul_pd(rho, _mm256_mul_pd(u_1, u_1));
307 const __m256d xi_121 = _mm256_add_pd(_mm256_add_pd(xi_112, xi_120), xi_9);
308 const __m256d xi_197 = _mm256_mul_pd(rho, u_1);
309 const __m256d xi_199 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(u_0, xi_197), xi_120), xi_247), xi_254), _mm256_set_pd(xi_198, xi_198, xi_198, xi_198));
310 const __m256d xi_200 = _mm256_add_pd(_mm256_mul_pd(xi_196, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_199, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)));
311 const __m256d xi_201 = _mm256_add_pd(xi_196, xi_199);
312 const __m256d u_2 = _mm256_add_pd(_mm256_mul_pd(xi_0, _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(vel2Term, xi_21), xi_24), xi_251)), _mm256_mul_pd(xi_259, xi_7));
313 const __m256d xi_27 = _mm256_mul_pd(u_2, xi_259);
314 const __m256d xi_33 = _mm256_mul_pd(xi_27, _mm256_set_pd(0.16666666666666666, 0.16666666666666666, 0.16666666666666666, 0.16666666666666666));
315 const __m256d xi_34 = _mm256_mul_pd(xi_27, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329));
316 const __m256d xi_35 = _mm256_mul_pd(xi_34, _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear));
317 const __m256d xi_36 = _mm256_add_pd(_mm256_mul_pd(xi_33, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_35);
318 const __m256d xi_41 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_26, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(_mm256_mul_pd(xi_32, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_36), xi_40);
319 const __m256d xi_48 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_25, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(_mm256_mul_pd(xi_37, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_36), xi_47);
320 const __m256d xi_52 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_27, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331)), _mm256_mul_pd(_mm256_mul_pd(xi_33, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear))), xi_40), xi_47);
321 const __m256d xi_58 = _mm256_mul_pd(xi_34, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
322 const __m256d xi_63 = _mm256_mul_pd(_mm256_mul_pd(xi_27, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(xi_60, xi_60, xi_60, xi_60));
323 const __m256d xi_64 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(xi_55, xi_55, xi_55, xi_55)), xi_32), xi_61), xi_62), xi_63);
324 const __m256d xi_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_59, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_30), xi_64);
325 const __m256d xi_66 = _mm256_add_pd(_mm256_add_pd(xi_35, xi_58), xi_65);
326 const __m256d xi_79 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_30, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_59), xi_64);
327 const __m256d xi_80 = _mm256_add_pd(_mm256_add_pd(xi_35, xi_58), xi_79);
328 const __m256d xi_82 = _mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(xi_27, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_set_pd(xi_55, xi_55, xi_55, xi_55)), xi_33);
329 const __m256d xi_83 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_81, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_50), xi_82);
330 const __m256d xi_85 = _mm256_add_pd(_mm256_add_pd(xi_39, xi_65), xi_84);
331 const __m256d xi_87 = _mm256_mul_pd(u_2, xi_67);
332 const __m256d xi_89 = _mm256_mul_pd(u_2, xi_72);
333 const __m256d xi_90 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_88, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_89, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_86), xi_87);
334 const __m256d xi_91 = _mm256_add_pd(_mm256_add_pd(xi_39, xi_79), xi_84);
335 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_87, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_88), xi_89);
336 const __m256d xi_94 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_46, xi_61), xi_62), xi_63), xi_83), xi_93);
337 const __m256d xi_97 = _mm256_mul_pd(u_2, xi_248);
338 const __m256d xi_98 = _mm256_mul_pd(xi_97, _mm256_set_pd(0.25, 0.25, 0.25, 0.25));
339 const __m256d xi_100 = _mm256_mul_pd(xi_97, _mm256_set_pd(xi_71, xi_71, xi_71, xi_71));
340 const __m256d xi_101 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_96, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_98, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_100), xi_99);
341 const __m256d xi_102 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_100, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_99, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_96), xi_98);
342 const __m256d xi_103 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_50, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_81), xi_82);
343 const __m256d xi_104 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_103, xi_46), xi_61), xi_62), xi_63), xi_93);
344 const __m256d xi_115 = _mm256_mul_pd(rho, _mm256_mul_pd(u_2, u_2));
345 const __m256d xi_116 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_256, _mm256_set_pd(3.0, 3.0, 3.0, 3.0)), _mm256_mul_pd(xi_262, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_mul_pd(xi_115, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), xi_114);
346 const __m256d xi_117 = _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_244, _mm256_set_pd(3.0, 3.0, 3.0, 3.0)), _mm256_mul_pd(xi_260, _mm256_set_pd(3.0, 3.0, 3.0, 3.0))), _mm256_mul_pd(xi_112, _mm256_set_pd(0.66666666666666663, 0.66666666666666663, 0.66666666666666663, 0.66666666666666663))), _mm256_mul_pd(xi_113, _mm256_set_pd(1.6666666666666667, 1.6666666666666667, 1.6666666666666667, 1.6666666666666667))), _mm256_mul_pd(xi_253, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_mul_pd(xi_255, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_mul_pd(xi_263, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), _mm256_mul_pd(xi_265, _mm256_set_pd(-3.0, -3.0, -3.0, -3.0))), xi_116), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even));
347 const __m256d xi_124 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_113, xi_115), xi_119), xi_121), xi_123), xi_17), xi_22), xi_264), _mm256_set_pd(omega_bulk, omega_bulk, omega_bulk, omega_bulk));
348 const __m256d xi_127 = _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_112, _mm256_set_pd(2.3333333333333335, 2.3333333333333335, 2.3333333333333335, 2.3333333333333335)), _mm256_mul_pd(xi_244, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_mul_pd(xi_260, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_mul_pd(xi_246, _mm256_set_pd(-5.0, -5.0, -5.0, -5.0))), _mm256_mul_pd(xi_251, _mm256_set_pd(-5.0, -5.0, -5.0, -5.0))), _mm256_mul_pd(xi_252, _mm256_set_pd(-5.0, -5.0, -5.0, -5.0))), _mm256_mul_pd(xi_261, _mm256_set_pd(-5.0, -5.0, -5.0, -5.0))), xi_116), xi_126), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even));
349 const __m256d xi_131 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_115, _mm256_set_pd(3.0, 3.0, 3.0, 3.0)), _mm256_mul_pd(xi_244, _mm256_set_pd(5.0, 5.0, 5.0, 5.0))), _mm256_mul_pd(xi_260, _mm256_set_pd(5.0, 5.0, 5.0, 5.0))), _mm256_mul_pd(xi_256, _mm256_set_pd(-4.0, -4.0, -4.0, -4.0))), _mm256_mul_pd(xi_262, _mm256_set_pd(-4.0, -4.0, -4.0, -4.0))), _mm256_mul_pd(xi_245, _mm256_set_pd(-7.0, -7.0, -7.0, -7.0))), _mm256_mul_pd(xi_247, _mm256_set_pd(-7.0, -7.0, -7.0, -7.0))), _mm256_mul_pd(xi_254, _mm256_set_pd(-7.0, -7.0, -7.0, -7.0))), _mm256_mul_pd(xi_257, _mm256_set_pd(-7.0, -7.0, -7.0, -7.0))), xi_114), xi_126), xi_128), xi_129), xi_130), _mm256_set_pd(omega_even, omega_even, omega_even, omega_even));
350 const __m256d xi_156 = _mm256_add_pd(_mm256_mul_pd(xi_115, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_256);
351 const __m256d xi_157 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_244, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_121), xi_156), xi_16), xi_2), xi_252), xi_6), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear));
352 const __m256d xi_158 = _mm256_mul_pd(xi_157, _mm256_set_pd(0.125, 0.125, 0.125, 0.125));
353 const __m256d xi_159 = _mm256_add_pd(_mm256_mul_pd(xi_131, _mm256_set_pd(-0.01984126984126984, -0.01984126984126984, -0.01984126984126984, -0.01984126984126984)), _mm256_mul_pd(xi_107, _mm256_set_pd(-0.11904761904761904, -0.11904761904761904, -0.11904761904761904, -0.11904761904761904)));
354 const __m256d xi_160 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_113, _mm256_set_pd(2.0, 2.0, 2.0, 2.0)), _mm256_mul_pd(xi_112, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_249, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), _mm256_mul_pd(xi_258, _mm256_set_pd(-2.0, -2.0, -2.0, -2.0))), xi_120), xi_123), xi_125), xi_156), xi_244), xi_260), xi_262), xi_9), _mm256_set_pd(omega_shear, omega_shear, omega_shear, omega_shear));
355 const __m256d xi_162 = _mm256_add_pd(_mm256_mul_pd(xi_160, _mm256_set_pd(-0.041666666666666664, -0.041666666666666664, -0.041666666666666664, -0.041666666666666664)), _mm256_mul_pd(xi_161, _mm256_set_pd(-0.16666666666666666, -0.16666666666666666, -0.16666666666666666, -0.16666666666666666)));
356 const __m256d xi_163 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_117, _mm256_set_pd(-0.050000000000000003, -0.050000000000000003, -0.050000000000000003, -0.050000000000000003)), _mm256_mul_pd(xi_108, _mm256_set_pd(-0.10000000000000001, -0.10000000000000001, -0.10000000000000001, -0.10000000000000001))), xi_162);
357 const __m256d xi_164 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_127, _mm256_set_pd(0.014285714285714285, 0.014285714285714285, 0.014285714285714285, 0.014285714285714285)), _mm256_mul_pd(xi_111, _mm256_set_pd(0.028571428571428571, 0.028571428571428571, 0.028571428571428571, 0.028571428571428571))), xi_155), xi_158), xi_159), xi_163);
358 const __m256d xi_176 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_160, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)), _mm256_mul_pd(xi_161, _mm256_set_pd(0.33333333333333331, 0.33333333333333331, 0.33333333333333331, 0.33333333333333331))), _mm256_mul_pd(xi_127, _mm256_set_pd(-0.035714285714285712, -0.035714285714285712, -0.035714285714285712, -0.035714285714285712))), _mm256_mul_pd(xi_111, _mm256_set_pd(-0.071428571428571425, -0.071428571428571425, -0.071428571428571425, -0.071428571428571425))), xi_159);
359 const __m256d xi_187 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_131, _mm256_set_pd(0.015873015873015872, 0.015873015873015872, 0.015873015873015872, 0.015873015873015872)), _mm256_mul_pd(xi_107, _mm256_set_pd(0.095238095238095233, 0.095238095238095233, 0.095238095238095233, 0.095238095238095233))), _mm256_mul_pd(xi_155, _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_127, _mm256_set_pd(-0.021428571428571429, -0.021428571428571429, -0.021428571428571429, -0.021428571428571429))), _mm256_mul_pd(xi_111, _mm256_set_pd(-0.042857142857142858, -0.042857142857142858, -0.042857142857142858, -0.042857142857142858))), xi_163);
360 const __m256d xi_190 = _mm256_mul_pd(xi_157, _mm256_set_pd(0.0625, 0.0625, 0.0625, 0.0625));
361 const __m256d xi_191 = _mm256_mul_pd(xi_131, _mm256_set_pd(0.013888888888888888, 0.013888888888888888, 0.013888888888888888, 0.013888888888888888));
362 const __m256d xi_193 = _mm256_add_pd(_mm256_mul_pd(xi_124, _mm256_set_pd(0.041666666666666664, 0.041666666666666664, 0.041666666666666664, 0.041666666666666664)), _mm256_mul_pd(xi_110, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329)));
363 const __m256d xi_194 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_160, _mm256_set_pd(0.020833333333333332, 0.020833333333333332, 0.020833333333333332, 0.020833333333333332)), _mm256_mul_pd(xi_161, _mm256_set_pd(0.083333333333333329, 0.083333333333333329, 0.083333333333333329, 0.083333333333333329))), xi_193);
364 const __m256d xi_195 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_165, xi_189), xi_190), xi_191), xi_192), xi_194);
365 const __m256d xi_202 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_151, xi_189), xi_190), xi_191), xi_192), xi_194);
366 const __m256d xi_204 = _mm256_mul_pd(xi_127, _mm256_set_pd(-0.0071428571428571426, -0.0071428571428571426, -0.0071428571428571426, -0.0071428571428571426));
367 const __m256d xi_205 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(u_2, xi_197), xi_132), xi_17), xi_255), _mm256_set_pd(xi_198, xi_198, xi_198, xi_198));
368 const __m256d xi_206 = _mm256_mul_pd(xi_117, _mm256_set_pd(0.025000000000000001, 0.025000000000000001, 0.025000000000000001, 0.025000000000000001));
369 const __m256d xi_209 = _mm256_add_pd(_mm256_mul_pd(xi_131, _mm256_set_pd(-0.003968253968253968, -0.003968253968253968, -0.003968253968253968, -0.003968253968253968)), _mm256_mul_pd(xi_107, _mm256_set_pd(-0.023809523809523808, -0.023809523809523808, -0.023809523809523808, -0.023809523809523808)));
370 const __m256d xi_210 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_162, xi_193), xi_203), xi_204), xi_205), xi_206), xi_207), xi_208), xi_209);
371 const __m256d xi_226 = _mm256_add_pd(_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_203, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_205, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), xi_162), xi_193), xi_204), xi_206), xi_207), xi_208), xi_209);
372 const __m256d xi_228 = _mm256_mul_pd(xi_190, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0));
373 const __m256d xi_229 = _mm256_mul_pd(xi_127, _mm256_set_pd(0.017857142857142856, 0.017857142857142856, 0.017857142857142856, 0.017857142857142856));
374 const __m256d xi_231 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_188, xi_194), xi_209), xi_227), xi_228), xi_229), xi_230);
375 const __m256d xi_233 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(rho, u_0), u_2), xi_10), xi_166), xi_246), _mm256_set_pd(xi_198, xi_198, xi_198, xi_198));
376 const __m256d xi_234 = _mm256_add_pd(_mm256_mul_pd(xi_232, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_233, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)));
377 const __m256d xi_240 = _mm256_add_pd(xi_232, xi_233);
378 const __m256d xi_243 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(xi_186, xi_194), xi_209), xi_227), xi_228), xi_229), xi_230);
379 const __m256d forceTerm_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_25, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_26, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_27, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), _mm256_mul_pd(xi_25, _mm256_set_pd(xi_28, xi_28, xi_28, xi_28))), _mm256_mul_pd(xi_26, _mm256_set_pd(xi_28, xi_28, xi_28, xi_28))), _mm256_mul_pd(xi_27, _mm256_set_pd(xi_28, xi_28, xi_28, xi_28)));
380 const __m256d forceTerm_1 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_31, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_29), xi_41);
381 const __m256d forceTerm_2 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_29, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_31), xi_41);
382 const __m256d forceTerm_3 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_42, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_44), xi_48);
383 const __m256d forceTerm_4 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_44, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_42), xi_48);
384 const __m256d forceTerm_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_51, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_49), xi_52);
385 const __m256d forceTerm_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_49, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), xi_51), xi_52);
386 const __m256d forceTerm_7 = _mm256_add_pd(_mm256_add_pd(xi_57, xi_66), xi_76);
387 const __m256d forceTerm_8 = _mm256_add_pd(_mm256_add_pd(xi_66, xi_77), xi_78);
388 const __m256d forceTerm_9 = _mm256_add_pd(_mm256_add_pd(xi_57, xi_78), xi_80);
389 const __m256d forceTerm_10 = _mm256_add_pd(_mm256_add_pd(xi_76, xi_77), xi_80);
390 const __m256d forceTerm_11 = _mm256_add_pd(_mm256_add_pd(xi_83, xi_85), xi_90);
391 const __m256d forceTerm_12 = _mm256_add_pd(_mm256_add_pd(xi_83, xi_91), xi_92);
392 const __m256d forceTerm_13 = _mm256_add_pd(_mm256_add_pd(xi_101, xi_57), xi_94);
393 const __m256d forceTerm_14 = _mm256_add_pd(_mm256_add_pd(xi_102, xi_77), xi_94);
394 const __m256d forceTerm_15 = _mm256_add_pd(_mm256_add_pd(xi_103, xi_85), xi_92);
395 const __m256d forceTerm_16 = _mm256_add_pd(_mm256_add_pd(xi_103, xi_90), xi_91);
396 const __m256d forceTerm_17 = _mm256_add_pd(_mm256_add_pd(xi_102, xi_104), xi_57);
397 const __m256d forceTerm_18 = _mm256_add_pd(_mm256_add_pd(xi_101, xi_104), xi_77);
398 _mm256_store_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_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_131, _mm256_set_pd(0.023809523809523808, 0.023809523809523808, 0.023809523809523808, 0.023809523809523808)), _mm256_mul_pd(xi_107, _mm256_set_pd(0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285))), _mm256_mul_pd(xi_127, _mm256_set_pd(0.042857142857142858, 0.042857142857142858, 0.042857142857142858, 0.042857142857142858))), _mm256_mul_pd(xi_111, _mm256_set_pd(0.085714285714285715, 0.085714285714285715, 0.085714285714285715, 0.085714285714285715))), _mm256_mul_pd(xi_117, _mm256_set_pd(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001))), _mm256_mul_pd(xi_108, _mm256_set_pd(0.20000000000000001, 0.20000000000000001, 0.20000000000000001, 0.20000000000000001))), _mm256_mul_pd(xi_124, _mm256_set_pd(-0.5, -0.5, -0.5, -0.5))), _mm256_mul_pd(xi_110, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_0), xi_264));
399 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_135, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_140, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_1), xi_151), xi_164), xi_244));
400 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_2, xi_135), xi_140), xi_164), xi_165), xi_260));
401 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_3, xi_168), xi_170), xi_175), xi_176), xi_258));
402 _mm256_store_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_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_170, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_4), xi_176), xi_177), xi_249));
403 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 5 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(xi_179, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0)), _mm256_mul_pd(xi_181, _mm256_set_pd(-1.0, -1.0, -1.0, -1.0))), forceTerm_5), xi_186), xi_187), xi_256));
404 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 6 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_6, xi_179), xi_181), xi_187), xi_188), xi_262));
405 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_7, xi_177), xi_195), xi_200), xi_254));
406 _mm256_store_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_8, xi_175), xi_195), xi_201), xi_245));
407 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_9, xi_177), xi_201), xi_202), xi_257));
408 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_10, xi_175), xi_200), xi_202), xi_247));
409 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 11 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_11, xi_210), xi_219), xi_224), xi_263));
410 _mm256_store_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 12 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_12, xi_219), xi_225), xi_226), xi_265));
411 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 13 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_13, xi_231), xi_234), xi_239), xi_252));
412 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 14 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_14, xi_231), xi_240), xi_241), xi_251));
413 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 15 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_15, xi_224), xi_226), xi_242), xi_255));
414 _mm256_store_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 16 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_16, xi_210), xi_225), xi_242), xi_253));
415 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 17 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_17, xi_239), xi_240), xi_243), xi_261));
416 _mm256_storeu_pd(&_data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 18 * _stride_pdfs_3 + ctr_0], _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(forceTerm_18, xi_234), xi_241), xi_243), xi_246));
417 }
418 for (int64_t ctr_0 = (int64_t)((_size_force_0) / (4)) * (4); ctr_0 < _size_force_0; ctr_0 += 1) {
419 const double xi_244 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0];
420 const double xi_245 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0];
421 const double xi_246 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 18 * _stride_pdfs_3 + ctr_0];
422 const double xi_247 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0];
423 const double xi_248 = _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + ctr_0];
424 const double xi_249 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0];
425 const double xi_250 = _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + _stride_force_3 + ctr_0];
426 const double xi_251 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 14 * _stride_pdfs_3 + ctr_0];
427 const double xi_252 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 13 * _stride_pdfs_3 + ctr_0];
428 const double xi_253 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 16 * _stride_pdfs_3 + ctr_0];
429 const double xi_254 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0];
430 const double xi_255 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 15 * _stride_pdfs_3 + ctr_0];
431 const double xi_256 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 5 * _stride_pdfs_3 + ctr_0];
432 const double xi_257 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0];
433 const double xi_258 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0];
434 const double xi_259 = _data_force[_stride_force_1 * ctr_1 + _stride_force_2 * ctr_2 + 2 * _stride_force_3 + ctr_0];
435 const double xi_260 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0];
436 const double xi_261 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 17 * _stride_pdfs_3 + ctr_0];
437 const double xi_262 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 6 * _stride_pdfs_3 + ctr_0];
438 const double xi_263 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 11 * _stride_pdfs_3 + ctr_0];
439 const double xi_264 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0];
440 const double xi_265 = _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 12 * _stride_pdfs_3 + ctr_0];
441
442 double random_7_0{};
443 double random_7_1{};
444 if (kT > 0.) {
445 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);
446 }
447
448 double random_6_0{};
449 double random_6_1{};
450 if (kT > 0.) {
451 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);
452 }
453
454 double random_5_0{};
455 double random_5_1{};
456 if (kT > 0.) {
457 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);
458 }
459
460 double random_4_0{};
461 double random_4_1{};
462 if (kT > 0.) {
463 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);
464 }
465
466 double random_3_0{};
467 double random_3_1{};
468 if (kT > 0.) {
469 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);
470 }
471
472 double random_2_0{};
473 double random_2_1{};
474 if (kT > 0.) {
475 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);
476 }
477
478 double random_1_0{};
479 double random_1_1{};
480 if (kT > 0.) {
481 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);
482 }
483
484 double random_0_0{};
485 double random_0_1{};
486 if (kT > 0.) {
487 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);
488 }
489 const double xi_2 = xi_246 + xi_251;
490 const double xi_3 = xi_2 + xi_249;
491 const double xi_4 = xi_244 + xi_255 + xi_263;
492 const double xi_5 = xi_256 + xi_265;
493 const double xi_6 = xi_261 + xi_262;
494 const double xi_8 = -xi_257;
495 const double xi_9 = -xi_254;
496 const double xi_10 = -xi_261;
497 const double xi_11 = -xi_252;
498 const double xi_12 = -xi_258;
499 const double xi_13 = xi_10 + xi_11 + xi_12;
500 const double xi_14 = -xi_260;
501 const double xi_15 = -xi_247;
502 const double xi_16 = xi_14 + xi_15;
503 const double xi_17 = -xi_253;
504 const double xi_18 = -xi_265;
505 const double xi_19 = xi_17 + xi_18;
506 const double xi_20 = -xi_246;
507 const double xi_21 = xi_10 + xi_20;
508 const double xi_22 = -xi_255;
509 const double xi_23 = -xi_262;
510 const double xi_24 = xi_17 + xi_22 + xi_23 + xi_263;
511 const double xi_29 = xi_250 * 0.16666666666666666;
512 const double xi_30 = xi_250 * 0.083333333333333329;
513 const double xi_42 = xi_248 * 0.16666666666666666;
514 const double xi_43 = xi_248 * 0.083333333333333329;
515 const double xi_49 = xi_259 * 0.16666666666666666;
516 const double xi_50 = xi_259 * 0.083333333333333329;
517 const double xi_67 = xi_250 * 0.25;
518 const double xi_72 = xi_250 * xi_71;
519 const double xi_114 = -xi_264;
520 const double xi_118 = -xi_263;
521 const double xi_119 = xi_118 + xi_18;
522 const double xi_120 = -xi_245 + xi_8;
523 const double xi_122 = -xi_251;
524 const double xi_123 = xi_11 + xi_122 + xi_15 + xi_21;
525 const double xi_125 = xi_253 * 2.0 + xi_255 * 2.0 + xi_263 * 2.0 + xi_265 * 2.0;
526 const double xi_126 = xi_125 + xi_249 * 5.0 + xi_258 * 5.0;
527 const double xi_128 = xi_252 * 2.0;
528 const double xi_129 = xi_251 * 2.0;
529 const double xi_130 = xi_246 * 2.0 + xi_261 * 2.0;
530 const double xi_132 = xi_118 + xi_265;
531 const double xi_133 = xi_132 + xi_14 + xi_22 + xi_244 + xi_253;
532 const double xi_135 = xi_133 * xi_134;
533 const double xi_136 = random_5_1 - 0.5;
534 const double xi_141 = xi_254 * 2.0;
535 const double xi_142 = xi_247 * 2.0;
536 const double xi_143 = xi_245 * -2.0 + xi_257 * 2.0;
537 const double xi_144 = xi_14 - xi_141 + xi_142 + xi_143 + xi_19 + xi_4;
538 const double xi_146 = xi_144 * xi_145;
539 const double xi_147 = random_3_0 - 0.5;
540 const double xi_152 = random_0_1 - 0.5;
541 const double xi_166 = xi_122 + xi_252;
542 const double xi_167 = xi_12 + xi_166 + xi_20 + xi_249 + xi_261;
543 const double xi_168 = xi_134 * xi_167;
544 const double xi_169 = random_4_1 - 0.5;
545 const double xi_171 = xi_13 + xi_141 - xi_142 + xi_143 + xi_3;
546 const double xi_172 = xi_145 * xi_171;
547 const double xi_173 = random_4_0 - 0.5;
548 const double xi_178 = xi_119 + xi_23 + xi_253 + xi_255 + xi_256;
549 const double xi_179 = xi_134 * xi_178;
550 const double xi_180 = random_5_0 - 0.5;
551 const double xi_182 = -xi_128 - xi_129 + xi_130 + xi_24 + xi_5;
552 const double xi_183 = xi_145 * xi_182;
553 const double xi_184 = random_3_1 - 0.5;
554 const double xi_212 = xi_182 * xi_211;
555 const double xi_214 = xi_178 * xi_213;
556 const double xi_220 = xi_144 * xi_211;
557 const double xi_221 = xi_133 * xi_213;
558 const double xi_235 = xi_167 * xi_213;
559 const double xi_236 = xi_171 * xi_211;
560 const double xi_31 = rr_0 * xi_30;
561 const double xi_44 = rr_0 * xi_43;
562 const double xi_51 = rr_0 * xi_50;
563 const double xi_54 = xi_248 * xi_53;
564 const double xi_59 = xi_250 * xi_53;
565 const double xi_81 = xi_259 * xi_53;
566 const double vel0Term = xi_245 + xi_247 + xi_3;
567 const double vel1Term = xi_254 + xi_4;
568 const double vel2Term = xi_252 + xi_5;
569 const double rho = vel0Term + vel1Term + vel2Term + xi_253 + xi_257 + xi_258 + xi_260 + xi_264 + xi_6;
570 const double xi_105 = kT * rho;
571 const double xi_106 = pow(xi_105 * (1.0 - ((-omega_even + 1.0) * (-omega_even + 1.0))), 0.5);
572 const double xi_107 = xi_106 * (random_6_0 - 0.5) * 3.7416573867739413;
573 const double xi_108 = xi_106 * (random_7_0 - 0.5) * 5.4772255750516612;
574 const double xi_110 = xi_109 * (random_2_1 - 0.5) * pow(xi_105 * (1.0 - ((-omega_bulk + 1.0) * (-omega_bulk + 1.0))), 0.5);
575 const double xi_111 = xi_106 * (random_6_1 - 0.5) * 8.3666002653407556;
576 const double xi_137 = pow(xi_105 * (1.0 - ((-omega_odd + 1.0) * (-omega_odd + 1.0))), 0.5);
577 const double xi_138 = xi_137 * 1.4142135623730951;
578 const double xi_139 = xi_138 * 0.5;
579 const double xi_140 = xi_136 * xi_139;
580 const double xi_148 = xi_109 * xi_137;
581 const double xi_149 = xi_148 * 0.16666666666666666;
582 const double xi_150 = xi_147 * xi_149;
583 const double xi_151 = -xi_146 - xi_150;
584 const double xi_153 = pow(xi_105 * (1.0 - ((-omega_shear + 1.0) * (-omega_shear + 1.0))), 0.5);
585 const double xi_154 = xi_153 * 0.5;
586 const double xi_155 = xi_152 * xi_154;
587 const double xi_161 = xi_153 * (random_0_0 - 0.5) * 1.7320508075688772;
588 const double xi_165 = xi_146 + xi_150;
589 const double xi_170 = xi_139 * xi_169;
590 const double xi_174 = xi_149 * xi_173;
591 const double xi_175 = xi_172 + xi_174;
592 const double xi_177 = -xi_172 - xi_174;
593 const double xi_181 = xi_139 * xi_180;
594 const double xi_185 = xi_149 * xi_184;
595 const double xi_186 = -xi_183 - xi_185;
596 const double xi_188 = xi_183 + xi_185;
597 const double xi_189 = xi_152 * xi_153 * 0.25;
598 const double xi_192 = xi_107 * 0.083333333333333329;
599 const double xi_196 = xi_154 * (random_1_0 - 0.5);
600 const double xi_203 = xi_154 * (random_2_0 - 0.5);
601 const double xi_207 = xi_111 * -0.014285714285714285;
602 const double xi_208 = xi_108 * 0.050000000000000003;
603 const double xi_215 = xi_148 * 0.083333333333333329;
604 const double xi_216 = xi_184 * xi_215;
605 const double xi_217 = xi_138 * 0.25;
606 const double xi_218 = xi_180 * xi_217;
607 const double xi_219 = -xi_212 + xi_214 - xi_216 + xi_218;
608 const double xi_222 = xi_147 * xi_215;
609 const double xi_223 = xi_136 * xi_217;
610 const double xi_224 = -xi_220 + xi_221 - xi_222 + xi_223;
611 const double xi_225 = xi_220 - xi_221 + xi_222 - xi_223;
612 const double xi_227 = -xi_189;
613 const double xi_230 = xi_111 * 0.035714285714285712;
614 const double xi_232 = xi_154 * (random_1_1 - 0.5);
615 const double xi_237 = xi_169 * xi_217;
616 const double xi_238 = xi_173 * xi_215;
617 const double xi_239 = -xi_235 + xi_236 - xi_237 + xi_238;
618 const double xi_241 = xi_235 - xi_236 + xi_237 - xi_238;
619 const double xi_242 = xi_212 - xi_214 + xi_216 - xi_218;
620 const double xi_0 = ((1.0) / (rho));
621 const double xi_7 = xi_0 * 0.5;
622 const double u_0 = xi_0 * (vel0Term + xi_13 + xi_8 + xi_9) + xi_248 * xi_7;
623 const double xi_25 = u_0 * xi_248;
624 const double xi_37 = xi_25 * 0.16666666666666666;
625 const double xi_38 = xi_25 * 0.083333333333333329;
626 const double xi_39 = omega_shear * xi_38;
627 const double xi_40 = -xi_37 + xi_39;
628 const double xi_56 = -xi_25 * xi_55 + xi_37;
629 const double xi_57 = -xi_43 + xi_54 + xi_56;
630 const double xi_61 = -xi_25 * xi_60;
631 const double xi_68 = u_0 * xi_67;
632 const double xi_73 = u_0 * xi_72;
633 const double xi_77 = xi_43 - xi_54 + xi_56;
634 const double xi_84 = -xi_38;
635 const double xi_95 = u_0 * xi_259;
636 const double xi_96 = xi_95 * 0.25;
637 const double xi_99 = xi_71 * xi_95;
638 const double xi_113 = rho * (u_0 * u_0);
639 const double u_1 = xi_0 * (vel1Term + xi_16 + xi_19 + xi_245 + xi_8) + xi_250 * xi_7;
640 const double xi_26 = u_1 * xi_250;
641 const double xi_32 = xi_26 * 0.16666666666666666;
642 const double xi_45 = xi_26 * 0.083333333333333329;
643 const double xi_46 = omega_shear * xi_45;
644 const double xi_47 = -xi_32 + xi_46;
645 const double xi_62 = -xi_26 * xi_60;
646 const double xi_69 = u_1 * 0.25;
647 const double xi_70 = xi_248 * xi_69;
648 const double xi_74 = u_1 * xi_71;
649 const double xi_75 = xi_248 * xi_74;
650 const double xi_76 = -xi_68 - xi_70 + xi_73 + xi_75;
651 const double xi_78 = xi_68 + xi_70 - xi_73 - xi_75;
652 const double xi_86 = xi_259 * xi_69;
653 const double xi_88 = xi_259 * xi_74;
654 const double xi_93 = -xi_45;
655 const double xi_112 = rho * (u_1 * u_1);
656 const double xi_121 = xi_112 + xi_120 + xi_9;
657 const double xi_197 = rho * u_1;
658 const double xi_199 = xi_198 * (u_0 * xi_197 + xi_120 + xi_247 + xi_254);
659 const double xi_200 = -xi_196 - xi_199;
660 const double xi_201 = xi_196 + xi_199;
661 const double u_2 = xi_0 * (vel2Term + xi_21 + xi_24 + xi_251) + xi_259 * xi_7;
662 const double xi_27 = u_2 * xi_259;
663 const double xi_33 = xi_27 * 0.16666666666666666;
664 const double xi_34 = xi_27 * 0.083333333333333329;
665 const double xi_35 = omega_shear * xi_34;
666 const double xi_36 = -xi_33 + xi_35;
667 const double xi_41 = -omega_shear * xi_32 + xi_26 * 0.33333333333333331 + xi_36 + xi_40;
668 const double xi_48 = -omega_shear * xi_37 + xi_25 * 0.33333333333333331 + xi_36 + xi_47;
669 const double xi_52 = -omega_shear * xi_33 + xi_27 * 0.33333333333333331 + xi_40 + xi_47;
670 const double xi_58 = -xi_34;
671 const double xi_63 = -xi_27 * xi_60;
672 const double xi_64 = -xi_26 * xi_55 + xi_32 + xi_61 + xi_62 + xi_63;
673 const double xi_65 = xi_30 - xi_59 + xi_64;
674 const double xi_66 = xi_35 + xi_58 + xi_65;
675 const double xi_79 = -xi_30 + xi_59 + xi_64;
676 const double xi_80 = xi_35 + xi_58 + xi_79;
677 const double xi_82 = -xi_27 * xi_55 + xi_33;
678 const double xi_83 = xi_50 - xi_81 + xi_82;
679 const double xi_85 = xi_39 + xi_65 + xi_84;
680 const double xi_87 = u_2 * xi_67;
681 const double xi_89 = u_2 * xi_72;
682 const double xi_90 = xi_86 + xi_87 - xi_88 - xi_89;
683 const double xi_91 = xi_39 + xi_79 + xi_84;
684 const double xi_92 = -xi_86 - xi_87 + xi_88 + xi_89;
685 const double xi_94 = xi_46 + xi_61 + xi_62 + xi_63 + xi_83 + xi_93;
686 const double xi_97 = u_2 * xi_248;
687 const double xi_98 = xi_97 * 0.25;
688 const double xi_100 = xi_71 * xi_97;
689 const double xi_101 = xi_100 - xi_96 - xi_98 + xi_99;
690 const double xi_102 = -xi_100 + xi_96 + xi_98 - xi_99;
691 const double xi_103 = -xi_50 + xi_81 + xi_82;
692 const double xi_104 = xi_103 + xi_46 + xi_61 + xi_62 + xi_63 + xi_93;
693 const double xi_115 = rho * (u_2 * u_2);
694 const double xi_116 = xi_114 + xi_115 * 0.66666666666666663 + xi_256 * 3.0 + xi_262 * 3.0;
695 const double xi_117 = omega_even * (xi_112 * 0.66666666666666663 + xi_113 * 1.6666666666666667 + xi_116 + xi_244 * 3.0 + xi_253 * -3.0 + xi_255 * -3.0 + xi_260 * 3.0 + xi_263 * -3.0 + xi_265 * -3.0);
696 const double xi_124 = omega_bulk * (xi_113 + xi_115 + xi_119 + xi_121 + xi_123 + xi_17 + xi_22 + xi_264);
697 const double xi_127 = omega_even * (xi_112 * 2.3333333333333335 + xi_116 + xi_126 + xi_244 * -2.0 + xi_246 * -5.0 + xi_251 * -5.0 + xi_252 * -5.0 + xi_260 * -2.0 + xi_261 * -5.0);
698 const double xi_131 = omega_even * (xi_114 + xi_115 * 3.0 + xi_126 + xi_128 + xi_129 + xi_130 + xi_244 * 5.0 + xi_245 * -7.0 + xi_247 * -7.0 + xi_254 * -7.0 + xi_256 * -4.0 + xi_257 * -7.0 + xi_260 * 5.0 + xi_262 * -4.0);
699 const double xi_156 = -xi_115 + xi_256;
700 const double xi_157 = omega_shear * (xi_121 + xi_156 + xi_16 + xi_2 - xi_244 + xi_252 + xi_6);
701 const double xi_158 = xi_157 * 0.125;
702 const double xi_159 = xi_107 * -0.11904761904761904 + xi_131 * -0.01984126984126984;
703 const double xi_160 = omega_shear * (-xi_112 + xi_113 * 2.0 + xi_120 + xi_123 + xi_125 + xi_156 + xi_244 + xi_249 * -2.0 + xi_258 * -2.0 + xi_260 + xi_262 + xi_9);
704 const double xi_162 = xi_160 * -0.041666666666666664 + xi_161 * -0.16666666666666666;
705 const double xi_163 = xi_108 * -0.10000000000000001 + xi_117 * -0.050000000000000003 + xi_162;
706 const double xi_164 = xi_111 * 0.028571428571428571 + xi_127 * 0.014285714285714285 + xi_155 + xi_158 + xi_159 + xi_163;
707 const double xi_176 = xi_111 * -0.071428571428571425 + xi_127 * -0.035714285714285712 + xi_159 + xi_160 * 0.083333333333333329 + xi_161 * 0.33333333333333331;
708 const double xi_187 = xi_107 * 0.095238095238095233 + xi_111 * -0.042857142857142858 + xi_127 * -0.021428571428571429 + xi_131 * 0.015873015873015872 - xi_155 - xi_158 + xi_163;
709 const double xi_190 = xi_157 * 0.0625;
710 const double xi_191 = xi_131 * 0.013888888888888888;
711 const double xi_193 = xi_110 * 0.083333333333333329 + xi_124 * 0.041666666666666664;
712 const double xi_194 = xi_160 * 0.020833333333333332 + xi_161 * 0.083333333333333329 + xi_193;
713 const double xi_195 = xi_165 + xi_189 + xi_190 + xi_191 + xi_192 + xi_194;
714 const double xi_202 = xi_151 + xi_189 + xi_190 + xi_191 + xi_192 + xi_194;
715 const double xi_204 = xi_127 * -0.0071428571428571426;
716 const double xi_205 = xi_198 * (u_2 * xi_197 + xi_132 + xi_17 + xi_255);
717 const double xi_206 = xi_117 * 0.025000000000000001;
718 const double xi_209 = xi_107 * -0.023809523809523808 + xi_131 * -0.003968253968253968;
719 const double xi_210 = xi_162 + xi_193 + xi_203 + xi_204 + xi_205 + xi_206 + xi_207 + xi_208 + xi_209;
720 const double xi_226 = xi_162 + xi_193 - xi_203 + xi_204 - xi_205 + xi_206 + xi_207 + xi_208 + xi_209;
721 const double xi_228 = -xi_190;
722 const double xi_229 = xi_127 * 0.017857142857142856;
723 const double xi_231 = xi_188 + xi_194 + xi_209 + xi_227 + xi_228 + xi_229 + xi_230;
724 const double xi_233 = xi_198 * (rho * u_0 * u_2 + xi_10 + xi_166 + xi_246);
725 const double xi_234 = -xi_232 - xi_233;
726 const double xi_240 = xi_232 + xi_233;
727 const double xi_243 = xi_186 + xi_194 + xi_209 + xi_227 + xi_228 + xi_229 + xi_230;
728 const double forceTerm_0 = xi_25 * xi_28 - xi_25 + xi_26 * xi_28 - xi_26 + xi_27 * xi_28 - xi_27;
729 const double forceTerm_1 = xi_29 - xi_31 + xi_41;
730 const double forceTerm_2 = -xi_29 + xi_31 + xi_41;
731 const double forceTerm_3 = -xi_42 + xi_44 + xi_48;
732 const double forceTerm_4 = xi_42 - xi_44 + xi_48;
733 const double forceTerm_5 = xi_49 - xi_51 + xi_52;
734 const double forceTerm_6 = -xi_49 + xi_51 + xi_52;
735 const double forceTerm_7 = xi_57 + xi_66 + xi_76;
736 const double forceTerm_8 = xi_66 + xi_77 + xi_78;
737 const double forceTerm_9 = xi_57 + xi_78 + xi_80;
738 const double forceTerm_10 = xi_76 + xi_77 + xi_80;
739 const double forceTerm_11 = xi_83 + xi_85 + xi_90;
740 const double forceTerm_12 = xi_83 + xi_91 + xi_92;
741 const double forceTerm_13 = xi_101 + xi_57 + xi_94;
742 const double forceTerm_14 = xi_102 + xi_77 + xi_94;
743 const double forceTerm_15 = xi_103 + xi_85 + xi_92;
744 const double forceTerm_16 = xi_103 + xi_90 + xi_91;
745 const double forceTerm_17 = xi_102 + xi_104 + xi_57;
746 const double forceTerm_18 = xi_101 + xi_104 + xi_77;
747 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + ctr_0] = forceTerm_0 + xi_107 * 0.14285714285714285 + xi_108 * 0.20000000000000001 - xi_110 + xi_111 * 0.085714285714285715 + xi_117 * 0.10000000000000001 + xi_124 * -0.5 + xi_127 * 0.042857142857142858 + xi_131 * 0.023809523809523808 + xi_264;
748 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + _stride_pdfs_3 + ctr_0] = forceTerm_1 - xi_135 - xi_140 + xi_151 + xi_164 + xi_244;
749 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 2 * _stride_pdfs_3 + ctr_0] = forceTerm_2 + xi_135 + xi_140 + xi_164 + xi_165 + xi_260;
750 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 3 * _stride_pdfs_3 + ctr_0] = forceTerm_3 + xi_168 + xi_170 + xi_175 + xi_176 + xi_258;
751 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 4 * _stride_pdfs_3 + ctr_0] = forceTerm_4 - xi_168 - xi_170 + xi_176 + xi_177 + xi_249;
752 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 5 * _stride_pdfs_3 + ctr_0] = forceTerm_5 - xi_179 - xi_181 + xi_186 + xi_187 + xi_256;
753 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 6 * _stride_pdfs_3 + ctr_0] = forceTerm_6 + xi_179 + xi_181 + xi_187 + xi_188 + xi_262;
754 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 7 * _stride_pdfs_3 + ctr_0] = forceTerm_7 + xi_177 + xi_195 + xi_200 + xi_254;
755 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 8 * _stride_pdfs_3 + ctr_0] = forceTerm_8 + xi_175 + xi_195 + xi_201 + xi_245;
756 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 9 * _stride_pdfs_3 + ctr_0] = forceTerm_9 + xi_177 + xi_201 + xi_202 + xi_257;
757 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 10 * _stride_pdfs_3 + ctr_0] = forceTerm_10 + xi_175 + xi_200 + xi_202 + xi_247;
758 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 11 * _stride_pdfs_3 + ctr_0] = forceTerm_11 + xi_210 + xi_219 + xi_224 + xi_263;
759 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 12 * _stride_pdfs_3 + ctr_0] = forceTerm_12 + xi_219 + xi_225 + xi_226 + xi_265;
760 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 13 * _stride_pdfs_3 + ctr_0] = forceTerm_13 + xi_231 + xi_234 + xi_239 + xi_252;
761 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 14 * _stride_pdfs_3 + ctr_0] = forceTerm_14 + xi_231 + xi_240 + xi_241 + xi_251;
762 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 15 * _stride_pdfs_3 + ctr_0] = forceTerm_15 + xi_224 + xi_226 + xi_242 + xi_255;
763 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 16 * _stride_pdfs_3 + ctr_0] = forceTerm_16 + xi_210 + xi_225 + xi_242 + xi_253;
764 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 17 * _stride_pdfs_3 + ctr_0] = forceTerm_17 + xi_239 + xi_240 + xi_243 + xi_261;
765 _data_pdfs[_stride_pdfs_1 * ctr_1 + _stride_pdfs_2 * ctr_2 + 18 * _stride_pdfs_3 + ctr_0] = forceTerm_18 + xi_234 + xi_241 + xi_243 + xi_246;
766 }
767 }
768 }
769 }
770}
771} // namespace internal_25bc51f30ec2c20f3ee9796f7dcb65c6
772
774 if (!this->configured_)
775 WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually")
776
777 auto force = block->getData<field::GhostLayerField<double, 3>>(forceID);
778 auto pdfs = block->getData<field::GhostLayerField<double, 19>>(pdfsID);
779
780 auto &time_step = this->time_step_;
781 auto &block_offset_1 = this->block_offset_1_;
782 auto &omega_even = this->omega_even_;
783 auto &omega_bulk = this->omega_bulk_;
784 auto &seed = this->seed_;
785 auto &kT = this->kT_;
786 auto &omega_shear = this->omega_shear_;
787 auto &omega_odd = this->omega_odd_;
788 auto &block_offset_0 = this->block_offset_0_;
789 auto &block_offset_2 = this->block_offset_2_;
790 WALBERLA_ASSERT_GREATER_EQUAL(0, -int_c(force->nrOfGhostLayers()))
791 double *RESTRICT const _data_force = force->dataAt(0, 0, 0, 0);
792 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
793 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
794 WALBERLA_ASSERT_GREATER_EQUAL(0, -int_c(pdfs->nrOfGhostLayers()))
795 double *RESTRICT _data_pdfs = pdfs->dataAt(0, 0, 0, 0);
796 WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx)
797 WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0)
798 WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(force->xSize()) + 0))
799 const int64_t _size_force_0 = int64_t(int64_c(force->xSize()) + 0);
800 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
801 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
802 WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(force->ySize()) + 0))
803 const int64_t _size_force_1 = int64_t(int64_c(force->ySize()) + 0);
804 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
805 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
806 WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(force->zSize()) + 0))
807 const int64_t _size_force_2 = int64_t(int64_c(force->zSize()) + 0);
808 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
809 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
810 const int64_t _stride_force_1 = int64_t(force->yStride());
811 const int64_t _stride_force_2 = int64_t(force->zStride());
812 const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride()));
813 const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride());
814 const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride());
815 const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride()));
816 internal_25bc51f30ec2c20f3ee9796f7dcb65c6::collidesweepdoubleprecisionthermalizedavx_collidesweepdoubleprecisionthermalizedavx(_data_force, _data_pdfs, _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, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step);
817}
818
819void CollideSweepDoublePrecisionThermalizedAVX::runOnCellInterval(const shared_ptr<StructuredBlockStorage> &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block) {
820 if (!this->configured_)
821 WALBERLA_ABORT("This Sweep contains a configure function that needs to be called manually")
822
823 CellInterval ci = globalCellInterval;
824 CellInterval blockBB = blocks->getBlockCellBB(*block);
825 blockBB.expand(ghostLayers);
826 ci.intersect(blockBB);
827 blocks->transformGlobalToBlockLocalCellInterval(ci, *block);
828 if (ci.empty())
829 return;
830
831 auto force = block->getData<field::GhostLayerField<double, 3>>(forceID);
832 auto pdfs = block->getData<field::GhostLayerField<double, 19>>(pdfsID);
833
834 auto &time_step = this->time_step_;
835 auto &block_offset_1 = this->block_offset_1_;
836 auto &omega_even = this->omega_even_;
837 auto &omega_bulk = this->omega_bulk_;
838 auto &seed = this->seed_;
839 auto &kT = this->kT_;
840 auto &omega_shear = this->omega_shear_;
841 auto &omega_odd = this->omega_odd_;
842 auto &block_offset_0 = this->block_offset_0_;
843 auto &block_offset_2 = this->block_offset_2_;
844 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(force->nrOfGhostLayers()))
845 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(force->nrOfGhostLayers()))
846 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(force->nrOfGhostLayers()))
847 double *RESTRICT const _data_force = force->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0);
848 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
849 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
850 WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs->nrOfGhostLayers()))
851 WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs->nrOfGhostLayers()))
852 WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs->nrOfGhostLayers()))
853 double *RESTRICT _data_pdfs = pdfs->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0);
854 WALBERLA_ASSERT_EQUAL(pdfs->layout(), field::fzyx)
855 WALBERLA_ASSERT_EQUAL((uintptr_t)pdfs->dataAt(0, 0, 0, 0) % 32, 0)
856 WALBERLA_ASSERT_GREATER_EQUAL(force->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0))
857 const int64_t _size_force_0 = int64_t(int64_c(ci.xSize()) + 0);
858 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
859 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
860 WALBERLA_ASSERT_GREATER_EQUAL(force->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0))
861 const int64_t _size_force_1 = int64_t(int64_c(ci.ySize()) + 0);
862 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
863 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
864 WALBERLA_ASSERT_GREATER_EQUAL(force->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0))
865 const int64_t _size_force_2 = int64_t(int64_c(ci.zSize()) + 0);
866 WALBERLA_ASSERT_EQUAL(force->layout(), field::fzyx)
867 WALBERLA_ASSERT_EQUAL((uintptr_t)force->dataAt(0, 0, 0, 0) % 32, 0)
868 const int64_t _stride_force_1 = int64_t(force->yStride());
869 const int64_t _stride_force_2 = int64_t(force->zStride());
870 const int64_t _stride_force_3 = int64_t(1 * int64_t(force->fStride()));
871 const int64_t _stride_pdfs_1 = int64_t(pdfs->yStride());
872 const int64_t _stride_pdfs_2 = int64_t(pdfs->zStride());
873 const int64_t _stride_pdfs_3 = int64_t(1 * int64_t(pdfs->fStride()));
874 internal_25bc51f30ec2c20f3ee9796f7dcb65c6::collidesweepdoubleprecisionthermalizedavx_collidesweepdoubleprecisionthermalizedavx(_data_force, _data_pdfs, _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, block_offset_0, block_offset_1, block_offset_2, kT, omega_bulk, omega_even, omega_odd, omega_shear, seed, time_step);
875}
876
877} // namespace pystencils
878} // namespace walberla
879
880#if (defined WALBERLA_CXX_COMPILER_IS_GNU) || (defined WALBERLA_CXX_COMPILER_IS_CLANG)
881#pragma GCC diagnostic pop
882#endif
883
884#if (defined WALBERLA_CXX_COMPILER_IS_INTEL)
885#pragma warning pop
886#endif
#define FUNC_PREFIX
\file AdvectiveFluxKernel_double_precision.cpp \author pystencils
#define RESTRICT
\file AdvectiveFluxKernel_double_precision.h \author pystencils
void runOnCellInterval(const shared_ptr< StructuredBlockStorage > &blocks, const CellInterval &globalCellInterval, cell_idx_t ghostLayers, IBlock *block)
static double * block(double *p, std::size_t index, std::size_t size)
Definition elc.cpp:172
QUALIFIERS void philox_double2(uint32 ctr0, uint32 ctr1, uint32 ctr2, uint32 ctr3, uint32 key0, uint32 key1, double &rnd1, double &rnd2)
static FUNC_PREFIX void collidesweepdoubleprecisionthermalizedavx_collidesweepdoubleprecisionthermalizedavx(double *RESTRICT const _data_force, double *RESTRICT _data_pdfs, 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, 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)
\file PackInfoPdfDoublePrecision.cpp \author pystencils