diff --git a/apps/benchmarks/NonUniformGridGPU/CMakeLists.txt b/apps/benchmarks/NonUniformGridGPU/CMakeLists.txt index d6840007e14d5f5af685bb5b262c8bcfd6138d6e..d1ba97897dd16b33868ef46818c87846bda31715 100644 --- a/apps/benchmarks/NonUniformGridGPU/CMakeLists.txt +++ b/apps/benchmarks/NonUniformGridGPU/CMakeLists.txt @@ -11,5 +11,5 @@ waLBerla_generate_target_from_python(NAME NonUniformGridGPUGenerated NonUniformGridGPUBoundaryCollection.h NonUniformGridGPUInfoHeader.h) waLBerla_add_executable( NAME NonUniformGridGPU - FILES NonUniformGridGPU.cpp + FILES NonUniformGridGPU.cpp TimeStep.h PDFCommunication.h StorageSpecification.h StorageSpecification.cu LocalCopy.cu DEPENDS blockforest boundary core gpu domain_decomposition field geometry python_coupling timeloop vtk NonUniformGridGPUGenerated ) \ No newline at end of file diff --git a/apps/benchmarks/NonUniformGridGPU/LocalCopy.cu b/apps/benchmarks/NonUniformGridGPU/LocalCopy.cu new file mode 100644 index 0000000000000000000000000000000000000000..4c7dd5b20972885ce6d785829029394c10b45a7c --- /dev/null +++ b/apps/benchmarks/NonUniformGridGPU/LocalCopy.cu @@ -0,0 +1,425 @@ +//====================================================================================================================== +// +// This file is part of waLBerla. waLBerla is free software: you can +// redistribute it and/or modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// waLBerla is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. +// +//! \\file StorageSpecification.cpp +//! \\author lbmpy +//====================================================================================================================== + +#include "StorageSpecification.h" + +/************************************************************************************* + * Kernel Definitions +*************************************************************************************/ +namespace { +FUNC_PREFIX void storagespecification_localCopy_TW(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[13 * fStride] = _data_src[13 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_SW(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[9 * fStride] = _data_src[9 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_BW(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[17 * fStride] = _data_src[17 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_BN(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[15 * fStride] = _data_src[15 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_N(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[fStride] = _data_src[fStride]; + _data_dst[7 * fStride] = _data_src[7 * fStride]; + _data_dst[8 * fStride] = _data_src[8 * fStride]; + _data_dst[11 * fStride] = _data_src[11 * fStride]; + _data_dst[15 * fStride] = _data_src[15 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_B(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[6 * fStride] = _data_src[6 * fStride]; + _data_dst[15 * fStride] = _data_src[15 * fStride]; + _data_dst[16 * fStride] = _data_src[16 * fStride]; + _data_dst[17 * fStride] = _data_src[17 * fStride]; + _data_dst[18 * fStride] = _data_src[18 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_BE(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[18 * fStride] = _data_src[18 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_S(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[2 * fStride] = _data_src[2 * fStride]; + _data_dst[9 * fStride] = _data_src[9 * fStride]; + _data_dst[10 * fStride] = _data_src[10 * fStride]; + _data_dst[12 * fStride] = _data_src[12 * fStride]; + _data_dst[16 * fStride] = _data_src[16 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_BS(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[16 * fStride] = _data_src[16 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_TS(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[12 * fStride] = _data_src[12 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_SE(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[10 * fStride] = _data_src[10 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_TE(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[14 * fStride] = _data_src[14 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_W(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[3 * fStride] = _data_src[3 * fStride]; + _data_dst[7 * fStride] = _data_src[7 * fStride]; + _data_dst[9 * fStride] = _data_src[9 * fStride]; + _data_dst[13 * fStride] = _data_src[13 * fStride]; + _data_dst[17 * fStride] = _data_src[17 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_T(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[5 * fStride] = _data_src[5 * fStride]; + _data_dst[11 * fStride] = _data_src[11 * fStride]; + _data_dst[12 * fStride] = _data_src[12 * fStride]; + _data_dst[13 * fStride] = _data_src[13 * fStride]; + _data_dst[14 * fStride] = _data_src[14 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_NW(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[7 * fStride] = _data_src[7 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_NE(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[8 * fStride] = _data_src[8 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_TN(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[11 * fStride] = _data_src[11 * fStride]; + } +} +} + +namespace { +FUNC_PREFIX void storagespecification_localCopy_E(double ** _data_pdfs_dst, double ** _data_pdfs_src, int64_t const size, int64_t fStride) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < size) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + + const double * RESTRICT _data_src = ((double * RESTRICT const)(_data_pdfs_src[ctr_0])); + double * RESTRICT _data_dst = ((double * RESTRICT )(_data_pdfs_dst[ctr_0])); + _data_dst[4 * fStride] = _data_src[4 * fStride]; + _data_dst[8 * fStride] = _data_src[8 * fStride]; + _data_dst[10 * fStride] = _data_src[10 * fStride]; + _data_dst[14 * fStride] = _data_src[14 * fStride]; + _data_dst[18 * fStride] = _data_src[18 * fStride]; + } +} +} + + +/************************************************************************************* + * Kernel Wrappers +*************************************************************************************/ + +namespace walberla { + +void StorageSpecification::PackKernels::localCopyDirection(real_t ** dst, real_t ** src, int64_t fStride, int64_t size, stencil::Direction dir, gpuStream_t stream) const +{ + const int64_t _size_pdfs_dst_0 = size; + const int64_t _size_pdfs_dst_1 = 1; + const int64_t _size_pdfs_dst_2 = 1; + + switch (dir) { + case stencil::N : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_N<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::S : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_S<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::W : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_W<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::E : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_E<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::T : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_T<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::B : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_B<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::NW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_NW<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::NE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_NE<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::SW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_SW<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::SE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_SE<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::TN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_TN<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::TS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_TS<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::TW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_TW<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::TE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_TE<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::BN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_BN<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::BS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_BS<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::BW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_BW<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + } + case stencil::BE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + storagespecification_localCopy_BE<<<_grid, _block, 0, stream>>>(dst, src, size, fStride); + break; + }default: break; + } +} +} // namespace walberla \ No newline at end of file diff --git a/apps/benchmarks/NonUniformGridGPU/NonUniformGridGPU.cpp b/apps/benchmarks/NonUniformGridGPU/NonUniformGridGPU.cpp index 8110dbbb4437b8d3c56d9b855de501fd55521454..dd97afec782b99ecb6273742ee1ddef15ddee100 100644 --- a/apps/benchmarks/NonUniformGridGPU/NonUniformGridGPU.cpp +++ b/apps/benchmarks/NonUniformGridGPU/NonUniformGridGPU.cpp @@ -39,15 +39,12 @@ #include "gpu/ErrorChecking.h" #include "gpu/HostFieldAllocator.h" #include "gpu/ParallelStreams.h" -#include "gpu/communication/NonUniformGPUScheme.h" #include "lbm_generated/evaluation/PerformanceEvaluation.h" #include "lbm_generated/field/PdfField.h" #include "lbm_generated/field/AddToStorage.h" -#include "lbm_generated/gpu/NonuniformGeneratedGPUPdfPackInfo.h" #include "lbm_generated/gpu/GPUPdfField.h" #include "lbm_generated/gpu/AddToStorage.h" -#include "lbm_generated/gpu/BasicRecursiveTimeStepGPU.h" #include "python_coupling/CreateConfig.h" #include "python_coupling/PythonCallback.h" @@ -55,9 +52,12 @@ #include <cmath> #include "NonUniformGridGPUInfoHeader.h" +#include "StorageSpecification.h" +#include "PDFCommunication.h" +#include "TimeStep.h" using namespace walberla; -using StorageSpecification_T = lbm::NonUniformGridGPUStorageSpecification; +using StorageSpecification_T = StorageSpecification; using Stencil_T = StorageSpecification_T::Stencil; using CommunicationStencil_T = StorageSpecification_T::CommunicationStencil; @@ -67,8 +67,6 @@ using FlagField_T = FlagField< uint8_t >; using BoundaryCollection_T = lbm::NonUniformGridGPUBoundaryCollection< FlagField_T >; using SweepCollection_T = lbm::NonUniformGridGPUSweepCollection; - -using gpu::communication::NonUniformGPUScheme; using RefinementSelectionFunctor = SetupBlockForest::RefinementSelectionFunction; class LDCRefinement @@ -83,13 +81,13 @@ class LDCRefinement { const AABB & domain = forest.getDomain(); - real_t xSize = ( domain.xSize() / real_t(12) ) * real_c( 0.99 ); - real_t ySize = ( domain.ySize() / real_t(12) ) * real_c( 0.99 ); + const real_t xSize = ( domain.xSize() / real_t(12) ) * real_c( 0.99 ); + const real_t ySize = ( domain.ySize() / real_t(12) ) * real_c( 0.99 ); - AABB leftCorner( domain.xMin(), domain.yMin(), domain.zMin(), + const AABB leftCorner( domain.xMin(), domain.yMin(), domain.zMin(), domain.xMin() + xSize, domain.yMin() + ySize, domain.zMax() ); - AABB rightCorner( domain.xMax() - xSize, domain.yMin(), domain.zMin(), + const AABB rightCorner( domain.xMax() - xSize, domain.yMin(), domain.zMin(), domain.xMax(), domain.yMin() + ySize, domain.zMax() ); for(auto & block : forest) @@ -215,7 +213,7 @@ int main(int argc, char** argv) const uint_t totalNumberCells = setupBfs.getNumberOfBlocks() * cellsPerBlock[0] * cellsPerBlock[1] * cellsPerBlock[2]; - const uint_t PDFsPerCell = StorageSpecification_T::inplace ? Stencil_T::Q : 2 * Stencil_T::Q; + const uint_t PDFsPerCell = 2 * Stencil_T::Q; const uint_t valuesPerCell = (PDFsPerCell + VelocityField_T::F_SIZE + ScalarField_T::F_SIZE); const uint_t sizePerValue = sizeof(PdfField_T::value_type); const double totalGPUMem = double_c(prop.totalGlobalMem) * 1e-9; @@ -286,7 +284,7 @@ int main(int argc, char** argv) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// WALBERLA_LOG_INFO_ON_ROOT("Setting up communication...") - auto communication = std::make_shared< NonUniformGPUScheme <CommunicationStencil_T>> (blocks, cudaEnabledMPI); + auto communication = std::make_shared< walberla::PDFCommunication <CommunicationStencil_T, GPUPdfField_T>> (blocks, pdfFieldGpuID, cudaEnabledMPI); auto packInfo = lbm_generated::setupNonuniformGPUPdfCommunication<GPUPdfField_T>(blocks, pdfFieldGpuID); communication->addPackInfo(packInfo); WALBERLA_MPI_BARRIER() @@ -300,7 +298,7 @@ int main(int argc, char** argv) sweepCollection.setOuterPriority(streamHighPriority); auto defaultStream = gpu::StreamRAII::newPriorityStream(streamLowPriority); - lbm_generated::BasicRecursiveTimeStepGPU< GPUPdfField_T, SweepCollection_T, BoundaryCollection_T > LBMMeshRefinement(blocks, pdfFieldGpuID, sweepCollection, boundaryCollection, communication, packInfo); + TimeStep< GPUPdfField_T, SweepCollection_T, BoundaryCollection_T > LBMMeshRefinement(blocks, pdfFieldGpuID, sweepCollection, boundaryCollection, communication, packInfo); SweepTimeloop timeLoop(blocks->getBlockStorage(), timesteps); // LBMMeshRefinement.test(5); diff --git a/apps/benchmarks/NonUniformGridGPU/PDFCommunication.h b/apps/benchmarks/NonUniformGridGPU/PDFCommunication.h new file mode 100644 index 0000000000000000000000000000000000000000..25a1c24d7f89774fbbc85d0a659d1b2fb5525932 --- /dev/null +++ b/apps/benchmarks/NonUniformGridGPU/PDFCommunication.h @@ -0,0 +1,1026 @@ +//====================================================================================================================== +// +// This file is part of waLBerla. waLBerla is free software: you can +// redistribute it and/or modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// waLBerla is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. +// +//! \file PDFCommunication.h +//! \ingroup gpu +//! \author Markus Holzer <markus.holzer@fau.de> +// +//====================================================================================================================== + +#pragma once + +#include "blockforest/StructuredBlockForest.h" + +#include "core/DataTypes.h" +#include "core/mpi/BufferSystem.h" +#include "core/mpi/MPIManager.h" +#include "core/mpi/MPIWrapper.h" + +#include "domain_decomposition/IBlock.h" + +#include "gpu/ErrorChecking.h" +#include "gpu/GPUWrapper.h" +#include "gpu/communication/CustomMemoryBuffer.h" +#include "gpu/communication/GeneratedNonUniformGPUPackInfo.h" + +#include "stencil/Directions.h" + +#include <memory> +#include <thread> + +namespace walberla +{ + +template< typename Stencil, typename PdfField_T > +class PDFCommunication +{ +public: + enum INDEX { EQUAL_LEVEL = 0, COARSE_TO_FINE = 1, FINE_TO_COARSE = 2 }; + + using CpuBuffer_T = walberla::gpu::communication::PinnedMemoryBuffer; + using GpuBuffer_T = walberla::gpu::communication::GPUMemoryBuffer; + + using LatticeStorageSpecification_T = typename PdfField_T::LatticeStorageSpecification; + using PackingKernels_T = typename LatticeStorageSpecification_T::PackKernels; + + explicit PDFCommunication(const weak_ptr< StructuredBlockForest >& bf, const BlockDataID pdfFieldID, + bool sendDirectlyFromGPU = false, + int tag = 5432); + + ~PDFCommunication(); + + //** Pack Info Registration ***************************************************************************************** + /*! \name Pack Info Registration */ + //@{ + void addPackInfo(const shared_ptr< GeneratedNonUniformGPUPackInfo >& pi); + //@} + //******************************************************************************************************************* + + inline void communicateEqualLevel(uint_t level); + inline void communicateCoarseToFine(uint_t fineLevel); + inline void communicateFineToCoarse(uint_t fineLevel); + + std::function<void()> communicateEqualLevelFunctor(const uint_t level) { + return [level, this](){ PDFCommunication::communicateEqualLevel(level);}; + } + std::function<void()> communicateCoarseToFineFunctor(const uint_t fineLevel) { + return [fineLevel, this](){ PDFCommunication::communicateCoarseToFine(fineLevel);}; + } + std::function<void()> communicateFineToCoarseFunctor(const uint_t fineLevel) { + return [fineLevel, this](){ PDFCommunication::communicateFineToCoarse(fineLevel);}; + } + + inline void startCommunicateEqualLevel(uint_t level); + inline void startCommunicateCoarseToFine(uint_t fineLevel); + inline void startCommunicateFineToCoarse(uint_t fineLevel); + + inline void waitCommunicateEqualLevel(uint_t level); + inline void waitCommunicateCoarseToFine(uint_t fineLevel); + inline void waitCommunicateFineToCoarse(uint_t fineLevel); + +private: + void setupCommunication(); + + void init(); + void refresh(); + + [[nodiscard]] bool isAnyCommunicationInProgress() const; + + void startCommunicationEqualLevel(uint_t index, std::set< uint_t >& participatingLevels); + void startCommunicationCoarseToFine(uint_t index, uint_t coarsestLevel); + void startCommunicationFineToCoarse(uint_t index, uint_t finestLevel); + + weak_ptr< StructuredBlockForest > blockForest_; + uint_t levels_; + int64_t fStride_; + const BlockDataID pdfFieldID_; + uint_t forestModificationStamp_{uint_c(0)}; + + std::vector< std::vector< bool > > communicationInProgress_; + bool sendFromGPU_; + int baseTag_; + + std::vector< std::vector< mpi::GenericBufferSystem< CpuBuffer_T, CpuBuffer_T > > > bufferSystemCPU_; + std::vector< std::vector< mpi::GenericBufferSystem< GpuBuffer_T, GpuBuffer_T > > > bufferSystemGPU_; + std::vector< std::vector< GpuBuffer_T > > localBuffer_; + GpuBuffer_T adaptiveGPUBuffer; + + std::vector< shared_ptr< GeneratedNonUniformGPUPackInfo > > packInfos_; + + struct Header + { + BlockID receiverId; + BlockID senderId; + stencil::Direction dir; + }; + std::vector< std::vector< std::map< mpi::MPIRank, std::vector< Header > > > > headers_; + + std::vector<std::vector< std::vector<std::vector< real_t * >>>> src_; + std::vector<std::vector< std::vector<std::vector< real_t * >>>> dst_; + + std::vector<std::vector< std::vector< real_t ** >>> srcGPU_; + std::vector<std::vector< std::vector< real_t ** >>> dstGPU_; + + gpuStream_t streams_[Stencil::Q]; + PackingKernels_T kernels_; +}; + +template< typename Stencil, typename PdfField_T > +PDFCommunication< Stencil, PdfField_T >::PDFCommunication(const weak_ptr< StructuredBlockForest >& bf, const BlockDataID pdfFieldID, + bool sendDirectlyFromGPU, const int tag) + : blockForest_(bf), pdfFieldID_(pdfFieldID), sendFromGPU_(sendDirectlyFromGPU), baseTag_(tag) +{ + WALBERLA_MPI_SECTION() + { +// Open MPI supports compile time CUDA-aware support check +#if (defined(OPEN_MPI) && OPEN_MPI) && !(defined(MPIX_CUDA_AWARE_SUPPORT) && MPIX_CUDA_AWARE_SUPPORT) + WALBERLA_CHECK(!sendDirectlyFromGPU) +#endif + } + init(); +} + + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::init() +{ + bufferSystemCPU_.resize(3); + bufferSystemGPU_.resize(3); + localBuffer_.resize(3); + headers_.resize(3); + + communicationInProgress_.resize(3); + + src_.resize(3); + dst_.resize(3); + + srcGPU_.resize(3); + dstGPU_.resize(3); + + refresh(); + + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamCreate(&streams_[i])) + } +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::refresh() +{ + WALBERLA_ASSERT(!isAnyCommunicationInProgress()) + + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + levels_ = forest->getNumberOfLevels(); + + + for (uint_t i = 0; i != 3; ++i) + { + bufferSystemCPU_[i].clear(); + bufferSystemGPU_[i].clear(); + localBuffer_[i].clear(); + headers_[i].clear(); + headers_[i].resize(size_t(levels_ + uint_t(1))); + + src_[i].clear(); + dst_[i].clear(); + srcGPU_[i].clear(); + dstGPU_[i].clear(); + + for (uint_t j = 0; j <= levels_; ++j) + { + headers_[i][j].clear(); + bufferSystemCPU_[i].emplace_back(mpi::MPIManager::instance()->comm(), baseTag_ + int_c(i * levels_ + j)); + bufferSystemGPU_[i].emplace_back(mpi::MPIManager::instance()->comm(), baseTag_ + int_c(i * levels_ + j)); + localBuffer_[i].emplace_back(); + + src_[i].emplace_back(); + dst_[i].emplace_back(); + srcGPU_[i].emplace_back(); + dstGPU_[i].emplace_back(); + for (uint_t k = 0; k < Stencil::Q; k++) + { + src_[i][j].emplace_back(); + dst_[i][j].emplace_back(); + srcGPU_[i][j].emplace_back(); + dstGPU_[i][j].emplace_back(); + } + } + + communicationInProgress_[i].resize(size_t(levels_ + uint_t(1)), false); + } + +#ifndef NDEBUG + for (auto & packInfo : packInfos_) + packInfo->clearBufferSizeCheckMap(); +#endif + forestModificationStamp_ = forest->getBlockForest().getModificationStamp(); +} + +template< typename Stencil, typename PdfField_T > +inline void PDFCommunication< Stencil, PdfField_T >::communicateEqualLevel(const uint_t level) +{ + startCommunicateEqualLevel(level); + waitCommunicateEqualLevel(level); +} + +template< typename Stencil, typename PdfField_T > +inline void PDFCommunication< Stencil, PdfField_T >::communicateCoarseToFine(const uint_t fineLevel) +{ + startCommunicateCoarseToFine(fineLevel); + waitCommunicateCoarseToFine(fineLevel); +} + +template< typename Stencil, typename PdfField_T > +inline void PDFCommunication< Stencil, PdfField_T >::communicateFineToCoarse(const uint_t fineLevel) +{ + startCommunicateFineToCoarse(fineLevel); + waitCommunicateFineToCoarse(fineLevel); +} + +template< typename Stencil, typename PdfField_T > +inline void PDFCommunication< Stencil, PdfField_T >::startCommunicateEqualLevel(const uint_t level) +{ + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + WALBERLA_ASSERT_LESS(level, forest->getNumberOfLevels()) + + if (forestModificationStamp_ != forest->getBlockForest().getModificationStamp()) refresh(); + + std::set< uint_t > participatingLevels; + participatingLevels.insert(level); + + startCommunicationEqualLevel(level, participatingLevels); +} + +template< typename Stencil, typename PdfField_T > +inline void PDFCommunication< Stencil, PdfField_T >::startCommunicateCoarseToFine(const uint_t fineLevel) +{ + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + WALBERLA_ASSERT_GREATER(fineLevel, uint_t(0)) + WALBERLA_ASSERT_LESS(fineLevel, forest->getNumberOfLevels()) + + if (forestModificationStamp_ != forest->getBlockForest().getModificationStamp()) refresh(); + + const uint_t coarsestLevel = fineLevel - uint_t(1); + + startCommunicationCoarseToFine(fineLevel, coarsestLevel); +} + +template< typename Stencil, typename PdfField_T > +inline void PDFCommunication< Stencil, PdfField_T >::startCommunicateFineToCoarse(const uint_t fineLevel) +{ + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + WALBERLA_ASSERT_GREATER(fineLevel, uint_t(0)) + WALBERLA_ASSERT_LESS(fineLevel, forest->getNumberOfLevels()) + + if (forestModificationStamp_ != forest->getBlockForest().getModificationStamp()) refresh(); + + const uint_t finestLevel = fineLevel; + + startCommunicationFineToCoarse(fineLevel, finestLevel); +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::startCommunicationEqualLevel(const uint_t index, + std::set< uint_t >& participatingLevels) +{ + if (packInfos_.empty()) return; + + WALBERLA_ASSERT(!communicationInProgress_[EQUAL_LEVEL][index]) + communicationInProgress_[EQUAL_LEVEL][index] = true; + + auto forest = blockForest_.lock(); + + // Schedule Receives + if (sendFromGPU_) + bufferSystemGPU_[EQUAL_LEVEL][index].scheduleReceives(); + else + bufferSystemCPU_[EQUAL_LEVEL][index].scheduleReceives(); + + if (!sendFromGPU_) + for (auto it : headers_[EQUAL_LEVEL][index]) + bufferSystemGPU_[EQUAL_LEVEL][index].sendBuffer(it.first).clear(); + + WALBERLA_GPU_CHECK(gpuDeviceSynchronize()) + + for (auto dir = Stencil::beginNoCenter(); dir != Stencil::end(); ++dir) + { + const stencil::Direction direction = *dir; + int64_t size = src_[EQUAL_LEVEL][0][direction].size(); + kernels_.localCopyDirection(dstGPU_[EQUAL_LEVEL][0][direction], srcGPU_[EQUAL_LEVEL][0][direction], fStride_, size, direction); + } + + WALBERLA_GPU_CHECK(gpuDeviceSynchronize()) + + + // Start filling send buffers + for (auto& iBlock : *forest) + { + auto senderBlock = dynamic_cast< Block* >(&iBlock); + + if (participatingLevels.find(senderBlock->getLevel()) == participatingLevels.end()) + continue; + + for (auto dir = Stencil::beginNoCenter(); dir != Stencil::end(); ++dir) + { + const auto neighborIdx = blockforest::getBlockNeighborhoodSectionIndex(*dir); + + if (!(senderBlock->neighborhoodSectionHasEquallySizedBlock(neighborIdx))) + continue; + + WALBERLA_ASSERT_EQUAL(senderBlock->getNeighborhoodSectionSize(neighborIdx), uint_t(1)) + if( senderBlock->neighborExistsLocally( neighborIdx, uint_t(0) ) ) + { +// auto receiverBlock = dynamic_cast< Block * >( forest->getBlock( senderBlock->getNeighborId( neighborIdx, uint_t(0) )) ); +// for (auto& pi : packInfos_) +// { +// pi->communicateLocalEqualLevel(senderBlock, receiverBlock, *dir, streams_[*dir]); +// } + } + else + { + auto nProcess = mpi::MPIRank(senderBlock->getNeighborProcess(neighborIdx, uint_t(0))); + GpuBuffer_T& gpuDataBuffer = bufferSystemGPU_[EQUAL_LEVEL][index].sendBuffer(nProcess); + + for (auto& pi : packInfos_) + { + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + WALBERLA_ASSERT_GREATER_EQUAL(gpuDataBuffer.remainingSize(), pi->sizeEqualLevelSend(senderBlock, *dir)) + if(sendFromGPU_) + { + pi->packDataEqualLevel(senderBlock, *dir, gpuDataBuffer, streams_[*dir]); + } + else + { + auto gpuDataPtr = gpuDataBuffer.cur(); + // packDataEqualLevel moves the pointer with advanceNoResize + pi->packDataEqualLevel(senderBlock, *dir, gpuDataBuffer, streams_[*dir]); + auto size = pi->sizeEqualLevelSend(senderBlock, *dir); + auto cpuDataPtr = bufferSystemCPU_[EQUAL_LEVEL][index].sendBuffer(nProcess).advanceNoResize(size); + WALBERLA_ASSERT_NOT_NULLPTR(cpuDataPtr) + WALBERLA_GPU_CHECK(gpuMemcpyAsync(cpuDataPtr, gpuDataPtr, size, gpuMemcpyDeviceToHost, streams_[*dir])) + } + } + } + } + } + // wait for packing to finish + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamSynchronize(streams_[i])) + } + + + if (sendFromGPU_) + bufferSystemGPU_[EQUAL_LEVEL][index].sendAll(); + else + bufferSystemCPU_[EQUAL_LEVEL][index].sendAll(); + + communicationInProgress_[EQUAL_LEVEL][index] = true; +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::startCommunicationCoarseToFine(const uint_t index, const uint_t coarsestLevel) +{ + if (packInfos_.empty()) return; + WALBERLA_ASSERT(!communicationInProgress_[COARSE_TO_FINE][index]) + communicationInProgress_[COARSE_TO_FINE][index] = true; + + auto forest = blockForest_.lock(); + + // Schedule Receives + if (sendFromGPU_) + bufferSystemGPU_[COARSE_TO_FINE][index].scheduleReceives(); + else + bufferSystemCPU_[COARSE_TO_FINE][index].scheduleReceives(); + + if (!sendFromGPU_) + for (auto it : headers_[COARSE_TO_FINE][index]) + bufferSystemGPU_[COARSE_TO_FINE][index].sendBuffer(it.first).clear(); + + // Start filling send buffers + for (auto& iBlock : *forest) + { + auto coarseBlock = dynamic_cast< Block* >(&iBlock); + auto nLevel = coarseBlock->getLevel(); + + if (nLevel != coarsestLevel) continue; + + for (auto dir = Stencil::beginNoCenter(); dir != Stencil::end(); ++dir) + { + const auto neighborIdx = blockforest::getBlockNeighborhoodSectionIndex(*dir); + + if (coarseBlock->getNeighborhoodSectionSize(neighborIdx) == uint_t(0)) continue; + if (!(coarseBlock->neighborhoodSectionHasSmallerBlocks(neighborIdx))) continue; + + for (uint_t n = 0; n != coarseBlock->getNeighborhoodSectionSize(neighborIdx); ++n) + { + const BlockID& fineReceiverId = coarseBlock->getNeighborId(neighborIdx, n); + if( coarseBlock->neighborExistsLocally( neighborIdx, n ) ) + { + auto fineReceiverBlock = dynamic_cast< Block * >( forest->getBlock( fineReceiverId ) ); + GpuBuffer_T& gpuDataBuffer = localBuffer_[COARSE_TO_FINE][index]; + + for (auto& pi : packInfos_) + { + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + WALBERLA_ASSERT_GREATER_EQUAL(gpuDataBuffer.remainingSize(), pi->sizeCoarseToFineSend(coarseBlock, fineReceiverId, *dir)) + pi->communicateLocalCoarseToFine(coarseBlock, fineReceiverBlock, *dir, gpuDataBuffer, nullptr); + } + } + else + { + auto nProcess = mpi::MPIRank(coarseBlock->getNeighborProcess(neighborIdx, n)); + GpuBuffer_T& gpuDataBuffer = bufferSystemGPU_[COARSE_TO_FINE][index].sendBuffer(nProcess); + gpuDataBuffer.clear(); + for (auto& pi : packInfos_) + { + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + WALBERLA_ASSERT_GREATER_EQUAL(gpuDataBuffer.remainingSize(), pi->sizeCoarseToFineSend(coarseBlock, fineReceiverId, *dir)) + if (sendFromGPU_) + { + pi->packDataCoarseToFine(coarseBlock, fineReceiverId, *dir, gpuDataBuffer, streams_[*dir]); + } + else + { + auto gpuDataPtr = gpuDataBuffer.cur(); + // packDataCoarseToFine moves the pointer with advanceNoResize + pi->packDataCoarseToFine(coarseBlock, fineReceiverId, *dir, gpuDataBuffer, streams_[*dir]); + auto size = pi->sizeCoarseToFineSend(coarseBlock, fineReceiverId, *dir); + auto cpuDataPtr = bufferSystemCPU_[COARSE_TO_FINE][index].sendBuffer(nProcess).advanceNoResize(size); + WALBERLA_ASSERT_NOT_NULLPTR(cpuDataPtr) + WALBERLA_GPU_CHECK(gpuMemcpyAsync(cpuDataPtr, gpuDataPtr, size, gpuMemcpyDeviceToHost, streams_[*dir])) + } + } + } + } + } + localBuffer_[COARSE_TO_FINE][index].clear(); + } + + + // wait for packing to finish + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamSynchronize(streams_[i])) + } + + if (sendFromGPU_) + bufferSystemGPU_[COARSE_TO_FINE][index].sendAll(); + else + bufferSystemCPU_[COARSE_TO_FINE][index].sendAll(); + + communicationInProgress_[COARSE_TO_FINE][index] = true; +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::startCommunicationFineToCoarse(const uint_t index, const uint_t finestLevel) +{ + if (packInfos_.empty()) return; + + WALBERLA_ASSERT(!communicationInProgress_[FINE_TO_COARSE][index]) + + communicationInProgress_[FINE_TO_COARSE][index] = true; + + auto forest = blockForest_.lock(); + + // Schedule Receives + if (sendFromGPU_) + bufferSystemGPU_[FINE_TO_COARSE][index].scheduleReceives(); + else + bufferSystemCPU_[FINE_TO_COARSE][index].scheduleReceives(); + + if (!sendFromGPU_) + for (auto it : headers_[FINE_TO_COARSE][index]) + bufferSystemGPU_[FINE_TO_COARSE][index].sendBuffer(it.first).clear(); + + // Start filling send buffers + for (auto& iBlock : *forest) + { + auto fineBlock = dynamic_cast< Block* >(&iBlock); + auto nLevel = fineBlock->getLevel(); + + if (nLevel != finestLevel) continue; + + for (auto dir = Stencil::beginNoCenter(); dir != Stencil::end(); ++dir) + { + const auto neighborIdx = blockforest::getBlockNeighborhoodSectionIndex(*dir); + + if (fineBlock->getNeighborhoodSectionSize(neighborIdx) == uint_t(0)) continue; + if (!(fineBlock->neighborhoodSectionHasLargerBlock(neighborIdx))) continue; + WALBERLA_ASSERT_EQUAL(fineBlock->getNeighborhoodSectionSize(neighborIdx), uint_t(1)) + + const BlockID& coarseReceiverId = fineBlock->getNeighborId(neighborIdx, uint_t(0)); + if( fineBlock->neighborExistsLocally( neighborIdx, uint_t(0) ) ) + { + auto coarseReceiverBlock = dynamic_cast< Block * >( forest->getBlock( coarseReceiverId ) ); + GpuBuffer_T& gpuDataBuffer = localBuffer_[FINE_TO_COARSE][index]; + + for (auto& pi : packInfos_) + { + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + WALBERLA_ASSERT_GREATER_EQUAL(gpuDataBuffer.allocSize() - gpuDataBuffer.size(), pi->sizeFineToCoarseSend(fineBlock, *dir)) + pi->communicateLocalFineToCoarse(fineBlock, coarseReceiverBlock, *dir, gpuDataBuffer, nullptr); + } + } + else + { + auto nProcess = mpi::MPIRank(fineBlock->getNeighborProcess(neighborIdx, uint_t(0))); + GpuBuffer_T& gpuDataBuffer = bufferSystemGPU_[FINE_TO_COARSE][index].sendBuffer(nProcess); + gpuDataBuffer.clear(); + for (auto& pi : packInfos_) + { + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + WALBERLA_ASSERT_GREATER_EQUAL(gpuDataBuffer.remainingSize(), pi->sizeFineToCoarseSend(fineBlock, *dir)) + if (sendFromGPU_) + { + pi->packDataFineToCoarse(fineBlock, coarseReceiverId, *dir, gpuDataBuffer, streams_[*dir]); + } + else + { + auto gpuDataPtr = gpuDataBuffer.cur(); + // packDataFineToCoarse moves the pointer with advanceNoResize + pi->packDataFineToCoarse(fineBlock, coarseReceiverId, *dir, gpuDataBuffer, streams_[*dir]); + auto size = pi->sizeFineToCoarseSend(fineBlock, *dir); + auto cpuDataPtr = bufferSystemCPU_[FINE_TO_COARSE][index].sendBuffer(nProcess).advanceNoResize(size); + WALBERLA_ASSERT_NOT_NULLPTR(cpuDataPtr) + WALBERLA_GPU_CHECK(gpuMemcpyAsync(cpuDataPtr, gpuDataPtr, size, gpuMemcpyDeviceToHost, streams_[*dir])) + } + } + } + } + localBuffer_[FINE_TO_COARSE][index].clear(); + } + // wait for packing to finish + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamSynchronize(streams_[i])) + } + + if (sendFromGPU_) + bufferSystemGPU_[FINE_TO_COARSE][index].sendAll(); + else + bufferSystemCPU_[FINE_TO_COARSE][index].sendAll(); + + communicationInProgress_[FINE_TO_COARSE][index] = true; +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::waitCommunicateEqualLevel(const uint_t level) +{ + if (!communicationInProgress_[EQUAL_LEVEL][level] || packInfos_.empty()) return; + + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + WALBERLA_ASSERT_LESS(level, forest->getNumberOfLevels()) + + if (sendFromGPU_) + { + // auto parallelSection = parallelSectionManager_.parallelSection( nullptr ); + for (auto recvInfo = bufferSystemGPU_[EQUAL_LEVEL][level].begin(); + recvInfo != bufferSystemGPU_[EQUAL_LEVEL][level].end(); ++recvInfo) + { + recvInfo.buffer().clear(); + for (auto& header : headers_[EQUAL_LEVEL][level][recvInfo.rank()]) + { + auto block = dynamic_cast< Block* >(forest->getBlock(header.receiverId)); + + for (auto& pi : packInfos_) + { + GpuBuffer_T& gpuDataBuffer = recvInfo.buffer(); + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + pi->unpackDataEqualLevel(block, stencil::inverseDir[header.dir], gpuDataBuffer, streams_[stencil::inverseDir[header.dir]]); + } + } + } + } + else + { + for (auto recvInfo = bufferSystemCPU_[EQUAL_LEVEL][level].begin(); + recvInfo != bufferSystemCPU_[EQUAL_LEVEL][level].end(); ++recvInfo) + { + auto &gpuBuffer = bufferSystemGPU_[EQUAL_LEVEL][level].sendBuffer(recvInfo.rank()); + + recvInfo.buffer().clear(); + gpuBuffer.clear(); + + for (auto &header : headers_[EQUAL_LEVEL][level][recvInfo.rank()]) + { + auto block = dynamic_cast< Block* >(forest->getBlock(header.receiverId)); + for (auto& pi : packInfos_) + { + auto size = pi->sizeEqualLevelSend(block, stencil::inverseDir[header.dir]); + auto cpuDataPtr = recvInfo.buffer().advanceNoResize(size); + auto gpuDataPtr = gpuBuffer.cur(); // advanceNoResize( size ); + WALBERLA_ASSERT_NOT_NULLPTR(cpuDataPtr) + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataPtr) + + WALBERLA_GPU_CHECK(gpuMemcpyAsync(gpuDataPtr, cpuDataPtr, size, gpuMemcpyHostToDevice, streams_[stencil::inverseDir[header.dir]])) + pi->unpackDataEqualLevel(block, stencil::inverseDir[header.dir], gpuBuffer, streams_[stencil::inverseDir[header.dir]]); + } + } + } + } + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamSynchronize(streams_[i])) + } + communicationInProgress_[EQUAL_LEVEL][level] = false; +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::waitCommunicateCoarseToFine(const uint_t fineLevel) +{ + if (!communicationInProgress_[COARSE_TO_FINE][fineLevel] || packInfos_.empty()) return; + + WALBERLA_ASSERT_GREATER(fineLevel, uint_t(0)) + + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + WALBERLA_ASSERT_LESS(fineLevel, forest->getNumberOfLevels()) + + if (sendFromGPU_) { + for (auto recvInfo = bufferSystemGPU_[COARSE_TO_FINE][fineLevel].begin(); + recvInfo != bufferSystemGPU_[COARSE_TO_FINE][fineLevel].end(); ++recvInfo) { + recvInfo.buffer().clear(); + for (auto &header: headers_[COARSE_TO_FINE][fineLevel][recvInfo.rank()]) { + auto fineReceiver = dynamic_cast< Block * >(forest->getBlock(header.receiverId)); + for (auto &pi: packInfos_) { + GpuBuffer_T &gpuDataBuffer = recvInfo.buffer(); + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + pi->unpackDataCoarseToFine(fineReceiver, header.senderId, stencil::inverseDir[header.dir], + gpuDataBuffer, streams_[stencil::inverseDir[header.dir]]); + } + } + } + } else + { + for (auto recvInfo = bufferSystemCPU_[COARSE_TO_FINE][fineLevel].begin(); + recvInfo != bufferSystemCPU_[COARSE_TO_FINE][fineLevel].end(); ++recvInfo) { + + adaptiveGPUBuffer.clear(); + adaptiveGPUBuffer.resize(recvInfo.buffer().allocSize()); + recvInfo.buffer().clear(); + + for (auto &header: headers_[COARSE_TO_FINE][fineLevel][recvInfo.rank()]) { + auto fineReceiver = dynamic_cast< Block * >(forest->getBlock(header.receiverId)); + // WALBERLA_ASSERT_NOT_NULLPTR(fineReceiver) + for (auto &pi: packInfos_) { + auto size = pi->sizeCoarseToFineReceive(fineReceiver, stencil::inverseDir[header.dir]); + + auto cpuDataPtr = recvInfo.buffer().advanceNoResize(size); + auto gpuDataPtr = adaptiveGPUBuffer.cur(); // advanceNoResize( size ); + WALBERLA_ASSERT_NOT_NULLPTR(cpuDataPtr) + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataPtr) + + WALBERLA_GPU_CHECK(gpuMemcpyAsync(gpuDataPtr, cpuDataPtr, size, gpuMemcpyHostToDevice, streams_[stencil::inverseDir[header.dir]])) + pi->unpackDataCoarseToFine(fineReceiver, header.senderId, stencil::inverseDir[header.dir], adaptiveGPUBuffer, streams_[stencil::inverseDir[header.dir]]); + } + } + } + } + + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamSynchronize(streams_[i])) + } + communicationInProgress_[COARSE_TO_FINE][fineLevel] = false; +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::waitCommunicateFineToCoarse(const uint_t fineLevel) +{ + if (!communicationInProgress_[FINE_TO_COARSE][fineLevel] || packInfos_.empty()) return; + + WALBERLA_ASSERT_GREATER(fineLevel, uint_t(0)) + + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + WALBERLA_ASSERT_LESS(fineLevel, forest->getNumberOfLevels()) + + if (sendFromGPU_) + { + for (auto recvInfo = bufferSystemGPU_[FINE_TO_COARSE][fineLevel].begin(); + recvInfo != bufferSystemGPU_[FINE_TO_COARSE][fineLevel].end(); ++recvInfo) + { + recvInfo.buffer().clear(); + for (auto& header : headers_[FINE_TO_COARSE][fineLevel][recvInfo.rank()]) + { + auto block = dynamic_cast< Block* >(forest->getBlock(header.receiverId)); + for (auto& pi : packInfos_) + { + GpuBuffer_T& gpuDataBuffer = recvInfo.buffer(); + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) + pi->unpackDataFineToCoarse(block, header.senderId, stencil::inverseDir[header.dir], gpuDataBuffer, streams_[stencil::inverseDir[header.dir]]); + } + } + } + } + else + { + for (auto recvInfo = bufferSystemCPU_[FINE_TO_COARSE][fineLevel].begin(); + recvInfo != bufferSystemCPU_[FINE_TO_COARSE][fineLevel].end(); ++recvInfo) + { + recvInfo.buffer().clear(); + adaptiveGPUBuffer.clear(); + adaptiveGPUBuffer.resize(recvInfo.buffer().allocSize()); + for (auto& header : headers_[FINE_TO_COARSE][fineLevel][recvInfo.rank()]) + { + auto block = dynamic_cast< Block* >(forest->getBlock(header.receiverId)); + for (auto& pi : packInfos_) + { + auto size = pi->sizeFineToCoarseSend(block, stencil::inverseDir[header.dir]); + auto cpuDataPtr = recvInfo.buffer().advanceNoResize(size); + auto gpuDataPtr = adaptiveGPUBuffer.cur(); // advanceNoResize( size ); + WALBERLA_ASSERT_NOT_NULLPTR(cpuDataPtr) + WALBERLA_ASSERT_NOT_NULLPTR(gpuDataPtr) + + WALBERLA_GPU_CHECK(gpuMemcpyAsync(gpuDataPtr, cpuDataPtr, size, gpuMemcpyHostToDevice, streams_[stencil::inverseDir[header.dir]])) + pi->unpackDataFineToCoarse(block, header.senderId, stencil::inverseDir[header.dir], adaptiveGPUBuffer, streams_[stencil::inverseDir[header.dir]]); + } + } + } + } + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamSynchronize(streams_[i])) + } + communicationInProgress_[FINE_TO_COARSE][fineLevel] = false; +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::setupCommunication() +{ + WALBERLA_ASSERT_GREATER(packInfos_.size(), uint_c(0), + "You have not registered a packInfo yet, thus setupCommunication does not work yet.") + auto forest = blockForest_.lock(); + WALBERLA_CHECK_NOT_NULLPTR(forest, + "Trying to access communication for a block storage object that doesn't exist anymore") + const uint_t levels = forest->getNumberOfLevels(); + + std::vector< std::vector< std::map< mpi::MPIRank, mpi::MPISize > > > senderInfo; // how many bytes to send to each neighbor + std::vector< std::vector< std::set< mpi::MPIRank > > > receiverInfo; // how many bytes to receive from each neighbor + + std::vector< std::vector< shared_ptr< mpi::BufferSystem > > > headerExchangeBs; + + std::vector< std::vector< mpi::MPISize > > localBufferSize; + + localBufferSize.resize(3); + senderInfo.resize(3); + receiverInfo.resize(3); + + senderInfo[EQUAL_LEVEL].resize(levels + uint_c(1)); + senderInfo[COARSE_TO_FINE].resize(levels + uint_c(1)); + senderInfo[FINE_TO_COARSE].resize(levels + uint_c(1)); + + receiverInfo[EQUAL_LEVEL].resize(levels + uint_c(1)); + receiverInfo[COARSE_TO_FINE].resize(levels + uint_c(1)); + receiverInfo[FINE_TO_COARSE].resize(levels + uint_c(1)); + + headerExchangeBs.resize(3); + + for (uint_t j = 0; j <= levels; ++j) + { + headerExchangeBs[EQUAL_LEVEL].push_back(make_shared< mpi::BufferSystem >(mpi::MPIManager::instance()->comm(), 123)); + headerExchangeBs[COARSE_TO_FINE].push_back(make_shared< mpi::BufferSystem >(mpi::MPIManager::instance()->comm(), 123)); + headerExchangeBs[FINE_TO_COARSE].push_back(make_shared< mpi::BufferSystem >(mpi::MPIManager::instance()->comm(), 123)); + + localBufferSize[EQUAL_LEVEL].push_back(mpi::MPISize(0)); + localBufferSize[COARSE_TO_FINE].push_back(mpi::MPISize(0)); + localBufferSize[FINE_TO_COARSE].push_back(mpi::MPISize(0)); + } + + for (auto& iBlock : *forest) + { + auto block = dynamic_cast< Block* >(&iBlock); + + const BlockID& senderId = block->getId(); + auto level = block->getLevel(); + + for (auto dir = Stencil::beginNoCenter(); dir != Stencil::end(); ++dir) + { + const stencil::Direction direction = *dir; + // skip if block has no neighbors in this direction + const auto neighborIdx = blockforest::getBlockNeighborhoodSectionIndex(*dir); + if (block->getNeighborhoodSectionSize(neighborIdx) == uint_t(0)) continue; + + // EQUAL_LEVEL communication + if (block->neighborhoodSectionHasEquallySizedBlock(neighborIdx)) + { + WALBERLA_ASSERT_EQUAL(block->getNeighborhoodSectionSize(neighborIdx), uint_t(1)) + if (block->neighborExistsLocally(neighborIdx, uint_t(0))) + { + auto receiverBlock = dynamic_cast< Block * >( forest->getBlock( block->getNeighborId( neighborIdx, uint_t(0) )) ); + auto srcField = const_cast< Block* >(block)->getData< PdfField_T >(pdfFieldID_); + auto dstField = receiverBlock->getData< PdfField_T >(pdfFieldID_); + fStride_ = int64_t(1 * int64_t(srcField->fStride())); + + CellInterval srcRegion; + CellInterval dstRegion; + cell_idx_t gls = 1; // skipsThroughCoarseBlock(block, direction) ? 2 : 1; + srcField->getSliceBeforeGhostLayer(direction, srcRegion, gls, false); + dstField->getGhostRegion(stencil::inverseDir[direction], dstRegion, gls, false); + for (auto cell = srcRegion.begin(); cell != srcRegion.end(); ++cell) + { + src_[EQUAL_LEVEL][level][direction].emplace_back(srcField->dataAt(cell->x(), cell->y(), cell->z(), 0)); + } + + for (auto cell = dstRegion.begin(); cell != dstRegion.end(); ++cell) + { + dst_[EQUAL_LEVEL][level][direction].emplace_back(dstField->dataAt(cell->x(), cell->y(), cell->z(), 0)); + } + + continue; + } + + const BlockID& receiverId = block->getNeighborId(neighborIdx, uint_t(0)); + auto nProcess = mpi::MPIRank(block->getNeighborProcess(neighborIdx, uint_t(0))); + + for (auto& pi : packInfos_) + { + senderInfo[EQUAL_LEVEL][level][nProcess] += mpi::MPISize(pi->sizeEqualLevelSend(block, *dir)); + } + + auto& headerBuffer = headerExchangeBs[EQUAL_LEVEL][level]->sendBuffer(nProcess); + receiverId.toBuffer(headerBuffer); + senderId.toBuffer(headerBuffer); + headerBuffer << *dir; + + receiverInfo[EQUAL_LEVEL][level].insert( nProcess ); + } + else if (block->neighborhoodSectionHasSmallerBlocks(neighborIdx)) + { + auto fineLevel = level + uint_c(1); // For indexing always the fineLevel is taken to be consistent. + WALBERLA_ASSERT_LESS(fineLevel, levels) + + for (uint_t n = 0; n != block->getNeighborhoodSectionSize(neighborIdx); ++n) + { + const BlockID& receiverId = block->getNeighborId(neighborIdx, n); + if( block->neighborExistsLocally( neighborIdx, n ) ) + { + for (auto& pi : packInfos_) + localBufferSize[COARSE_TO_FINE][fineLevel] += mpi::MPISize(pi->sizeCoarseToFineSend(block, receiverId, *dir)); + continue; + } + + auto nProcess = mpi::MPIRank(block->getNeighborProcess(neighborIdx, n)); + for (auto& pi : packInfos_) + senderInfo[COARSE_TO_FINE][fineLevel][nProcess] += mpi::MPISize(pi->sizeCoarseToFineSend(block, receiverId, *dir)); + + auto& headerBuffer = headerExchangeBs[COARSE_TO_FINE][fineLevel]->sendBuffer(nProcess); + receiverId.toBuffer(headerBuffer); + senderId.toBuffer(headerBuffer); + headerBuffer << *dir; + + receiverInfo[FINE_TO_COARSE][fineLevel].insert( nProcess ); + } + } + else if (block->neighborhoodSectionHasLargerBlock(neighborIdx)) + { + WALBERLA_ASSERT_EQUAL(block->getNeighborhoodSectionSize(neighborIdx), uint_t(1)) + const BlockID& receiverId = block->getNeighborId(neighborIdx, uint_t(0)); + if( block->neighborExistsLocally( neighborIdx, uint_t(0) ) ) + { + for (auto& pi : packInfos_) + localBufferSize[FINE_TO_COARSE][level] += mpi::MPISize(pi->sizeFineToCoarseSend(block, *dir)); + continue; + } + + auto nProcess = mpi::MPIRank(block->getNeighborProcess(neighborIdx, uint_t(0))); + for (auto& pi : packInfos_) + senderInfo[FINE_TO_COARSE][level][nProcess] += mpi::MPISize(pi->sizeFineToCoarseSend(block, *dir)); + + auto& headerBuffer = headerExchangeBs[FINE_TO_COARSE][level]->sendBuffer(nProcess); + receiverId.toBuffer(headerBuffer); + senderId.toBuffer(headerBuffer); + headerBuffer << *dir; + + receiverInfo[COARSE_TO_FINE][level].insert( nProcess ); + } + } + } + + for (uint_t i = 0; i != 3; ++i) + { + for (uint_t j = 0; j <= levels; ++j) + { + headerExchangeBs[i][j]->setReceiverInfo(receiverInfo[i][j], false); + headerExchangeBs[i][j]->sendAll(); + for (auto recvIter = headerExchangeBs[i][j]->begin(); recvIter != headerExchangeBs[i][j]->end(); ++recvIter) { + auto &headerVector = headers_[i][j][recvIter.rank()]; + auto &buffer = recvIter.buffer(); + while (buffer.size()) { + Header header; + header.receiverId.fromBuffer(buffer); + header.senderId.fromBuffer(buffer); + buffer >> header.dir; + headerVector.push_back(header); + } + } + bufferSystemCPU_[i][j].setReceiverInfo(receiverInfo[i][j], false); + bufferSystemGPU_[i][j].setReceiverInfo(receiverInfo[i][j], false); + for (auto it : senderInfo[i][j]) + { + bufferSystemCPU_[i][j].sendBuffer(it.first).resize(size_t(it.second)); + bufferSystemGPU_[i][j].sendBuffer(it.first).resize(size_t(it.second)); + } + if (localBufferSize[i][j] > 0) + localBuffer_[i][j].resize(size_t(localBufferSize[i][j])); + } + } + + for (uint_t i = 0; i != 3; ++i) + { + for (uint_t j = 0; j != levels; ++j) + { + for (uint_t k = 0; k != Stencil::Q; k++) + { + if (!src_[i][j][k].empty()) + { + gpuMalloc( (void**)&srcGPU_[i][j][k], sizeof(real_t * ) * src_[i][j][k].size() ); + gpuMemcpy( srcGPU_[i][j][k], &src_[i][j][k][0], sizeof(real_t) * src_[i][j][k].size(), gpuMemcpyHostToDevice ); + + gpuMalloc( (void**)&dstGPU_[i][j][k], sizeof(real_t * ) * dst_[i][j][k].size() ); + gpuMemcpy( dstGPU_[i][j][k], &dst_[i][j][k][0], sizeof(real_t) * dst_[i][j][k].size(), gpuMemcpyHostToDevice ); + } + } + } + } + forestModificationStamp_ = forest->getBlockForest().getModificationStamp(); +} + +template< typename Stencil, typename PdfField_T > +bool PDFCommunication< Stencil, PdfField_T >::isAnyCommunicationInProgress() const +{ + const uint_t levels = uint_c(communicationInProgress_[0].size()); + for (uint_t i = 0; i != 3; ++i) + for (uint_t j = 0; j != levels; ++j) + if (communicationInProgress_[i][j]) return true; + + return false; +} + +template< typename Stencil, typename PdfField_T > +PDFCommunication< Stencil, PdfField_T >::~PDFCommunication() +{ + for (uint_t i = 0; i != bufferSystemGPU_[EQUAL_LEVEL].size(); ++i) + { + waitCommunicateEqualLevel(i); + waitCommunicateCoarseToFine(i); + waitCommunicateFineToCoarse(i); + } + + for (uint_t i = 0; i < Stencil::Q; ++i) + { + WALBERLA_GPU_CHECK(gpuStreamDestroy(streams_[i])) + } + + for (uint_t i = 0; i != 3; ++i) + { + for (uint_t j = 0; j <= levels_; ++j) + { + for (uint_t k = 0; k < Stencil::Q; k++) + { + if (!src_[i][j][k].empty()) { + gpuFree(srcGPU_[i][j][k]); + gpuFree(dstGPU_[i][j][k]); + } + } + } + } +} + +template< typename Stencil, typename PdfField_T > +void PDFCommunication< Stencil, PdfField_T >::addPackInfo(const shared_ptr< GeneratedNonUniformGPUPackInfo >& pi) +{ + if (isAnyCommunicationInProgress()) + { + WALBERLA_ABORT("You may not add a PackInfo to a NonUniformBufferedScheme if any communication is in progress!") + } + packInfos_.push_back(pi); + setupCommunication(); +} +} // namespace walberla diff --git a/apps/benchmarks/NonUniformGridGPU/StorageSpecification.cu b/apps/benchmarks/NonUniformGridGPU/StorageSpecification.cu new file mode 100644 index 0000000000000000000000000000000000000000..16c32c49dbe8d24af6b4ce1fb1c3c0e9d2c4f68f --- /dev/null +++ b/apps/benchmarks/NonUniformGridGPU/StorageSpecification.cu @@ -0,0 +1,3610 @@ +//====================================================================================================================== +// +// This file is part of waLBerla. waLBerla is free software: you can +// redistribute it and/or modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// waLBerla is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. +// +//! \\file StorageSpecification.cpp +//! \\author lbmpy +//====================================================================================================================== + +#include "StorageSpecification.h" + +#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 + +/************************************************************************************* + * Kernel Definitions +*************************************************************************************/ +namespace internal_storagespecification_pack_ALL { +static FUNC_PREFIX void storagespecification_pack_ALL(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 1] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 3*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 4] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 4*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 5] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 5*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 6] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 6*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 7] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 8] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 9] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 10] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 11] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 12] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 13] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 14] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 15] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 15*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 16] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 16*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 17] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 17*_stride_pdfs_src_3]; + _data_buffer[19*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 19*_size_pdfs_src_0*ctr_1 + 19*ctr_0 + 18] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 18*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_unpack_ALL { +static FUNC_PREFIX void storagespecification_unpack_ALL(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 19*_size_pdfs_dst_0*ctr_1 + 19*ctr_0 + 18]; + } +} +} + +namespace internal_storagespecification_localCopy_ALL { +static FUNC_PREFIX void storagespecification_localCopy_ALL(double * RESTRICT _data_pdfs_dst, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 3*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 4*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 5*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 6*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 15*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 16*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 17*_stride_pdfs_src_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 18*_stride_pdfs_src_3]; + } +} +} + + +namespace internal_storagespecification_pack_SE { +static FUNC_PREFIX void storagespecification_pack_SE(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_TE { +static FUNC_PREFIX void storagespecification_pack_TE(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_BW { +static FUNC_PREFIX void storagespecification_pack_BW(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 17*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_N { +static FUNC_PREFIX void storagespecification_pack_N(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 1] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 4] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 15*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_S { +static FUNC_PREFIX void storagespecification_pack_S(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 1] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 4] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 16*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_W { +static FUNC_PREFIX void storagespecification_pack_W(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 3*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 1] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 4] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 17*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_BE { +static FUNC_PREFIX void storagespecification_pack_BE(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 18*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_T { +static FUNC_PREFIX void storagespecification_pack_T(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 5*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 1] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 4] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_TS { +static FUNC_PREFIX void storagespecification_pack_TS(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_NE { +static FUNC_PREFIX void storagespecification_pack_NE(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_SW { +static FUNC_PREFIX void storagespecification_pack_SW(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_TW { +static FUNC_PREFIX void storagespecification_pack_TW(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_BS { +static FUNC_PREFIX void storagespecification_pack_BS(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 16*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_NW { +static FUNC_PREFIX void storagespecification_pack_NW(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_TN { +static FUNC_PREFIX void storagespecification_pack_TN(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_E { +static FUNC_PREFIX void storagespecification_pack_E(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 4*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 1] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 4] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 18*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_BN { +static FUNC_PREFIX void storagespecification_pack_BN(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + _size_pdfs_src_0*ctr_1 + ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 15*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_pack_B { +static FUNC_PREFIX void storagespecification_pack_B(double * RESTRICT _data_buffer, double * RESTRICT const _data_pdfs_src, int64_t const _size_pdfs_src_0, int64_t const _size_pdfs_src_1, int64_t const _size_pdfs_src_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_src_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_src_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_src_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 6*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 1] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 15*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 2] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 16*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 3] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 17*_stride_pdfs_src_3]; + _data_buffer[5*_size_pdfs_src_0*_size_pdfs_src_1*ctr_2 + 5*_size_pdfs_src_0*ctr_1 + 5*ctr_0 + 4] = _data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 18*_stride_pdfs_src_3]; + } +} +} + +namespace internal_storagespecification_unpack_BW { +static FUNC_PREFIX void storagespecification_unpack_BW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_SW { +static FUNC_PREFIX void storagespecification_unpack_SW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_BN { +static FUNC_PREFIX void storagespecification_unpack_BN(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_B { +static FUNC_PREFIX void storagespecification_unpack_B(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4]; + } +} +} + +namespace internal_storagespecification_unpack_T { +static FUNC_PREFIX void storagespecification_unpack_T(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4]; + } +} +} + +namespace internal_storagespecification_unpack_BS { +static FUNC_PREFIX void storagespecification_unpack_BS(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_S { +static FUNC_PREFIX void storagespecification_unpack_S(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4]; + } +} +} + +namespace internal_storagespecification_unpack_N { +static FUNC_PREFIX void storagespecification_unpack_N(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4]; + } +} +} + +namespace internal_storagespecification_unpack_NE { +static FUNC_PREFIX void storagespecification_unpack_NE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_W { +static FUNC_PREFIX void storagespecification_unpack_W(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4]; + } +} +} + +namespace internal_storagespecification_unpack_TE { +static FUNC_PREFIX void storagespecification_unpack_TE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_TS { +static FUNC_PREFIX void storagespecification_unpack_TS(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_TN { +static FUNC_PREFIX void storagespecification_unpack_TN(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_SE { +static FUNC_PREFIX void storagespecification_unpack_SE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_E { +static FUNC_PREFIX void storagespecification_unpack_E(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4]; + } +} +} + +namespace internal_storagespecification_unpack_NW { +static FUNC_PREFIX void storagespecification_unpack_NW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_BE { +static FUNC_PREFIX void storagespecification_unpack_BE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + +namespace internal_storagespecification_unpack_TW { +static FUNC_PREFIX void storagespecification_unpack_TW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0]; + } +} +} + + +namespace internal_storagespecification_unpackRedistribute_S { +static FUNC_PREFIX void storagespecification_unpackRedistribute_S(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_BS { +static FUNC_PREFIX void storagespecification_unpackRedistribute_BS(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_E { +static FUNC_PREFIX void storagespecification_unpackRedistribute_E(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_SE { +static FUNC_PREFIX void storagespecification_unpackRedistribute_SE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_TE { +static FUNC_PREFIX void storagespecification_unpackRedistribute_TE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_W { +static FUNC_PREFIX void storagespecification_unpackRedistribute_W(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_SW { +static FUNC_PREFIX void storagespecification_unpackRedistribute_SW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_BN { +static FUNC_PREFIX void storagespecification_unpackRedistribute_BN(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_B { +static FUNC_PREFIX void storagespecification_unpackRedistribute_B(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_T { +static FUNC_PREFIX void storagespecification_unpackRedistribute_T(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_NW { +static FUNC_PREFIX void storagespecification_unpackRedistribute_NW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_N { +static FUNC_PREFIX void storagespecification_unpackRedistribute_N(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_BW { +static FUNC_PREFIX void storagespecification_unpackRedistribute_BW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_NE { +static FUNC_PREFIX void storagespecification_unpackRedistribute_NE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_TW { +static FUNC_PREFIX void storagespecification_unpackRedistribute_TW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_TN { +static FUNC_PREFIX void storagespecification_unpackRedistribute_TN(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_TS { +static FUNC_PREFIX void storagespecification_unpackRedistribute_TS(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + } +} +} + +namespace internal_storagespecification_unpackRedistribute_BE { +static FUNC_PREFIX void storagespecification_unpackRedistribute_BE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2))]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + _stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 1]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 2*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 2]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 3*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 4*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 4]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 5]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 6]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 7*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 7]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 8*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 8]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 9*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 9]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 10*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 10]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 11]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 12]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 14]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 15]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 16]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 17]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 18]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 13*_stride_pdfs_dst_3] = _data_buffer[19*((_size_pdfs_dst_0) / (2))*((_size_pdfs_dst_1) / (2))*((ctr_2) / (2)) + 19*((_size_pdfs_dst_0) / (2))*((ctr_1) / (2)) + 19*((ctr_0) / (2)) + 13]; + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_T { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_T(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 5*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 5*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 5*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 5*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 5*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 5*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 5*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (5) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 5*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 1] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 2] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 3] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 4] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_B { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_B(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 6*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 6*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 6*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 6*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 6*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 6*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 6*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (6) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 6*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 1] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 2] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 3] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 4] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_W { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_W(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 3*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 3*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 3*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 3*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 3*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 3*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 3*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (3) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 3*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 1] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 2] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 3] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 4] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_SE { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_SE(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_NW { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_NW(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_SW { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_SW(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_NE { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_NE(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_BN { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_BN(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_TE { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_TE(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_TN { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_TN(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_BS { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_BS(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_TW { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_TW(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 13*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (13) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 13*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_S { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_S(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 2*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 2*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 2*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 2*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (2) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 1] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 9*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (9) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 9*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 2] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 3] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 4] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 16*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (16) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 16*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_BW { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_BW(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 17*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (17) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 17*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_BE { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_BE(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_TS { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_TS(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + ((_size_mask_0) / (2))*((ctr_1) / (2)) + ((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 12*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (12) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 12*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_N { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_N(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + _stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + _stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + _stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + _stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (1) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 1] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + 2*_stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 7*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (7) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 7*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 2] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 3] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 11*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (11) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 11*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 4] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 15*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (15) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 15*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_packPartialCoalescence_E { +static FUNC_PREFIX void storagespecification_packPartialCoalescence_E(double * RESTRICT _data_buffer, uint32_t * RESTRICT const _data_mask, double * RESTRICT const _data_pdfs_src, int64_t const _size_mask_0, int64_t const _size_mask_1, int64_t const _size_mask_2, int64_t const _stride_mask_0, int64_t const _stride_mask_1, int64_t const _stride_mask_2, int64_t const _stride_pdfs_src_0, int64_t const _stride_pdfs_src_1, int64_t const _stride_pdfs_src_2, int64_t const _stride_pdfs_src_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_mask_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_mask_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_mask_2) + { + const int64_t ctr_0 = 2*blockDim.x*blockIdx.x + 2*threadIdx.x; + const int64_t ctr_1 = 2*blockDim.y*blockIdx.y + 2*threadIdx.y; + const int64_t ctr_2 = 2*blockDim.z*blockIdx.z + 2*threadIdx.z; + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2))] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 4*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 4*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 4*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 4*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 4*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 4*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 4*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (4) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 4*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 1] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 8*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (8) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 - _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 8*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 2] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + 2*_stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 10*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (10) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 10*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 3] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 14*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (14) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 - _stride_pdfs_src_2 + 14*_stride_pdfs_src_3]); + _data_buffer[5*((_size_mask_0) / (2))*((_size_mask_1) / (2))*((ctr_2) / (2)) + 5*((_size_mask_0) / (2))*((ctr_1) / (2)) + 5*((ctr_0) / (2)) + 4] = ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2 + _stride_mask_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + 2*_stride_pdfs_src_2 + 18*_stride_pdfs_src_3]) + ((_data_mask[_stride_mask_0*ctr_0 + _stride_mask_1*ctr_1 + _stride_mask_2*ctr_2]) >> (18) & 1) * (_data_pdfs_src[_stride_pdfs_src_0*ctr_0 - _stride_pdfs_src_0 + _stride_pdfs_src_1*ctr_1 + _stride_pdfs_src_2*ctr_2 + _stride_pdfs_src_2 + 18*_stride_pdfs_src_3]); + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_BE { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_BE(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_B { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_B(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_BN { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_BN(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_TN { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_TN(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_S { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_S(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_N { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_N(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_TE { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_TE(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_TS { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_TS(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_SE { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_SE(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_NW { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_NW(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_T { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_T(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_W { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_W(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_BS { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_BS(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_E { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_E(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = 0.0; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_TW { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_TW(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_SW { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_SW(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_BW { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_BW(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_zeroCoalescenceRegion_NE { +static FUNC_PREFIX void storagespecification_zeroCoalescenceRegion_NE(double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = 0.0; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_W { +static FUNC_PREFIX void storagespecification_unpackCoalescence_W(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 4*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_NW { +static FUNC_PREFIX void storagespecification_unpackCoalescence_NW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_TE { +static FUNC_PREFIX void storagespecification_unpackCoalescence_TE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_T { +static FUNC_PREFIX void storagespecification_unpackCoalescence_T(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 6*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_S { +static FUNC_PREFIX void storagespecification_unpackCoalescence_S(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_SE { +static FUNC_PREFIX void storagespecification_unpackCoalescence_SE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_E { +static FUNC_PREFIX void storagespecification_unpackCoalescence_E(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + 3*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 7*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 17*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_B { +static FUNC_PREFIX void storagespecification_unpackCoalescence_B(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 5*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_TW { +static FUNC_PREFIX void storagespecification_unpackCoalescence_TW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 18*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_BN { +static FUNC_PREFIX void storagespecification_unpackCoalescence_BN(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_BS { +static FUNC_PREFIX void storagespecification_unpackCoalescence_BS(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 11*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_BE { +static FUNC_PREFIX void storagespecification_unpackCoalescence_BE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 13*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_SW { +static FUNC_PREFIX void storagespecification_unpackCoalescence_SW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 8*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_TN { +static FUNC_PREFIX void storagespecification_unpackCoalescence_TN(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_TS { +static FUNC_PREFIX void storagespecification_unpackCoalescence_TS(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 - _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 15*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_N { +static FUNC_PREFIX void storagespecification_unpackCoalescence_N(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 2*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 1] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 2] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 10*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 3] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 12*_stride_pdfs_dst_3]; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3] = 0.125*_data_buffer[5*_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + 5*_size_pdfs_dst_0*ctr_1 + 5*ctr_0 + 4] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + _stride_pdfs_dst_2 + 16*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_BW { +static FUNC_PREFIX void storagespecification_unpackCoalescence_BW(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 - _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_2*ctr_2 - _stride_pdfs_dst_2 + 14*_stride_pdfs_dst_3]; + } +} +} + +namespace internal_storagespecification_unpackCoalescence_NE { +static FUNC_PREFIX void storagespecification_unpackCoalescence_NE(double * RESTRICT const _data_buffer, double * RESTRICT _data_pdfs_dst, int64_t const _size_pdfs_dst_0, int64_t const _size_pdfs_dst_1, int64_t const _size_pdfs_dst_2, int64_t const _stride_pdfs_dst_0, int64_t const _stride_pdfs_dst_1, int64_t const _stride_pdfs_dst_2, int64_t const _stride_pdfs_dst_3) +{ + if (blockDim.x*blockIdx.x + threadIdx.x < _size_pdfs_dst_0 && blockDim.y*blockIdx.y + threadIdx.y < _size_pdfs_dst_1 && blockDim.z*blockIdx.z + threadIdx.z < _size_pdfs_dst_2) + { + const int64_t ctr_0 = blockDim.x*blockIdx.x + threadIdx.x; + const int64_t ctr_1 = blockDim.y*blockIdx.y + threadIdx.y; + const int64_t ctr_2 = blockDim.z*blockIdx.z + threadIdx.z; + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3] = 0.125*_data_buffer[_size_pdfs_dst_0*_size_pdfs_dst_1*ctr_2 + _size_pdfs_dst_0*ctr_1 + ctr_0] + _data_pdfs_dst[_stride_pdfs_dst_0*ctr_0 + _stride_pdfs_dst_0 + _stride_pdfs_dst_1*ctr_1 + _stride_pdfs_dst_1 + _stride_pdfs_dst_2*ctr_2 + 9*_stride_pdfs_dst_3]; + } +} +} + + +/************************************************************************************* + * Kernel Wrappers +*************************************************************************************/ + +namespace walberla { + +void StorageSpecification::PackKernels::packAll(PdfField_T * pdfs_src, CellInterval & ci, unsigned char * outBuffer, gpuStream_t stream) const +{ + double * buffer = reinterpret_cast<double*>(outBuffer); + double * RESTRICT _data_buffer = buffer; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_src->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs_src = pdfs_src->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_src->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_pdfs_src_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_src->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_pdfs_src_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_src->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_pdfs_src_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_pdfs_src_0 = int64_t(pdfs_src->xStride()); + const int64_t _stride_pdfs_src_1 = int64_t(pdfs_src->yStride()); + const int64_t _stride_pdfs_src_2 = int64_t(pdfs_src->zStride()); + const int64_t _stride_pdfs_src_3 = int64_t(1 * int64_t(pdfs_src->fStride())); + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_ALL::storagespecification_pack_ALL<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); +} + + +void StorageSpecification::PackKernels::unpackAll(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, gpuStream_t stream) const +{ + double * buffer = reinterpret_cast<double*>(inBuffer); + double * RESTRICT const _data_buffer = buffer; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_dst = pdfs_dst->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_pdfs_dst_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_pdfs_dst_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_pdfs_dst_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_pdfs_dst_0 = int64_t(pdfs_dst->xStride()); + const int64_t _stride_pdfs_dst_1 = int64_t(pdfs_dst->yStride()); + const int64_t _stride_pdfs_dst_2 = int64_t(pdfs_dst->zStride()); + const int64_t _stride_pdfs_dst_3 = int64_t(1 * int64_t(pdfs_dst->fStride())); + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_ALL::storagespecification_unpack_ALL<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); +} + + +void StorageSpecification::PackKernels::localCopyAll(PdfField_T * pdfs_src, CellInterval & srcInterval, PdfField_T * pdfs_dst, CellInterval & dstInterval, gpuStream_t stream) const +{ + WALBERLA_ASSERT_EQUAL(srcInterval.xSize(), dstInterval.xSize()) + WALBERLA_ASSERT_EQUAL(srcInterval.ySize(), dstInterval.ySize()) + WALBERLA_ASSERT_EQUAL(srcInterval.zSize(), dstInterval.zSize()) + + WALBERLA_ASSERT_GREATER_EQUAL(dstInterval.xMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(dstInterval.yMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(dstInterval.zMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_dst = pdfs_dst->dataAt(dstInterval.xMin(), dstInterval.yMin(), dstInterval.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(srcInterval.xMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(srcInterval.yMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(srcInterval.zMin(), -int_c(pdfs_src->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs_src = pdfs_src->dataAt(srcInterval.xMin(), srcInterval.yMin(), srcInterval.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->xSizeWithGhostLayer(), int64_t(int64_c(dstInterval.xSize()) + 0)) + const int64_t _size_pdfs_dst_0 = int64_t(int64_c(dstInterval.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->ySizeWithGhostLayer(), int64_t(int64_c(dstInterval.ySize()) + 0)) + const int64_t _size_pdfs_dst_1 = int64_t(int64_c(dstInterval.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->zSizeWithGhostLayer(), int64_t(int64_c(dstInterval.zSize()) + 0)) + const int64_t _size_pdfs_dst_2 = int64_t(int64_c(dstInterval.zSize()) + 0); + const int64_t _stride_pdfs_dst_0 = int64_t(pdfs_dst->xStride()); + const int64_t _stride_pdfs_dst_1 = int64_t(pdfs_dst->yStride()); + const int64_t _stride_pdfs_dst_2 = int64_t(pdfs_dst->zStride()); + const int64_t _stride_pdfs_dst_3 = int64_t(1 * int64_t(pdfs_dst->fStride())); + const int64_t _stride_pdfs_src_0 = int64_t(pdfs_src->xStride()); + const int64_t _stride_pdfs_src_1 = int64_t(pdfs_src->yStride()); + const int64_t _stride_pdfs_src_2 = int64_t(pdfs_src->zStride()); + const int64_t _stride_pdfs_src_3 = int64_t(1 * int64_t(pdfs_src->fStride())); + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_localCopy_ALL::storagespecification_localCopy_ALL<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _data_pdfs_src, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); +} + +void StorageSpecification::PackKernels::packDirection(PdfField_T * pdfs_src, CellInterval & ci, unsigned char * outBuffer, stencil::Direction dir, gpuStream_t stream) const +{ + double * buffer = reinterpret_cast<double*>(outBuffer); + double * RESTRICT _data_buffer = buffer; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_src->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs_src = pdfs_src->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_src->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_pdfs_src_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_src->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_pdfs_src_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_src->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_pdfs_src_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_pdfs_src_0 = int64_t(pdfs_src->xStride()); + const int64_t _stride_pdfs_src_1 = int64_t(pdfs_src->yStride()); + const int64_t _stride_pdfs_src_2 = int64_t(pdfs_src->zStride()); + const int64_t _stride_pdfs_src_3 = int64_t(1 * int64_t(pdfs_src->fStride())); + switch (dir) { + case stencil::N : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_N::storagespecification_pack_N<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::S : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_S::storagespecification_pack_S<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::W : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_W::storagespecification_pack_W<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::E : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_E::storagespecification_pack_E<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::T : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_T::storagespecification_pack_T<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::B : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_B::storagespecification_pack_B<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::NW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_NW::storagespecification_pack_NW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::NE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_NE::storagespecification_pack_NE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::SW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_SW::storagespecification_pack_SW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::SE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_SE::storagespecification_pack_SE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_TN::storagespecification_pack_TN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_TS::storagespecification_pack_TS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_TW::storagespecification_pack_TW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_TE::storagespecification_pack_TE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_BN::storagespecification_pack_BN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_BS::storagespecification_pack_BS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_BW::storagespecification_pack_BW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)), uint32_c(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_src_0) % (1) == 0 ? (int64_t)(_size_pdfs_src_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_src_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_src_1) % (((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) == 0 ? (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) : ( (int64_t)(_size_pdfs_src_1) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)) ) +1 )), uint32_c(( (_size_pdfs_src_2) % (((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) == 0 ? (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) : ( (int64_t)(_size_pdfs_src_2) / (int64_t)(((64 < ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1))))) ? 64 : ((_size_pdfs_src_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))) ? _size_pdfs_src_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_src_1) ? 2 : _size_pdfs_src_1)))))) ) +1 ))); + internal_storagespecification_pack_BE::storagespecification_pack_BE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_src, _size_pdfs_src_0, _size_pdfs_src_1, _size_pdfs_src_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + }default: break; + } +} + +void StorageSpecification::PackKernels::unpackDirection(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, stencil::Direction dir, gpuStream_t stream) const +{ + double * buffer = reinterpret_cast<double*>(inBuffer); + double * RESTRICT const _data_buffer = buffer; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_dst = pdfs_dst->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_pdfs_dst_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_pdfs_dst_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_pdfs_dst_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_pdfs_dst_0 = int64_t(pdfs_dst->xStride()); + const int64_t _stride_pdfs_dst_1 = int64_t(pdfs_dst->yStride()); + const int64_t _stride_pdfs_dst_2 = int64_t(pdfs_dst->zStride()); + const int64_t _stride_pdfs_dst_3 = int64_t(1 * int64_t(pdfs_dst->fStride())); + switch (dir) { + case stencil::N : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_N::storagespecification_unpack_N<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::S : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_S::storagespecification_unpack_S<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::W : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_W::storagespecification_unpack_W<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::E : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_E::storagespecification_unpack_E<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::T : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_T::storagespecification_unpack_T<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::B : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_B::storagespecification_unpack_B<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_NW::storagespecification_unpack_NW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_NE::storagespecification_unpack_NE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_SW::storagespecification_unpack_SW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_SE::storagespecification_unpack_SE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_TN::storagespecification_unpack_TN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_TS::storagespecification_unpack_TS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_TW::storagespecification_unpack_TW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_TE::storagespecification_unpack_TE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_BN::storagespecification_unpack_BN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_BS::storagespecification_unpack_BS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_BW::storagespecification_unpack_BW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpack_BE::storagespecification_unpack_BE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + }default: break; + } +} + +void StorageSpecification::PackKernels::unpackRedistribute(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, stencil::Direction dir, gpuStream_t stream) const +{ + double * buffer = reinterpret_cast<double*>(inBuffer); + double * RESTRICT const _data_buffer = buffer; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_dst = pdfs_dst->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_pdfs_dst_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_pdfs_dst_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_pdfs_dst_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_pdfs_dst_0 = int64_t(pdfs_dst->xStride()); + const int64_t _stride_pdfs_dst_1 = int64_t(pdfs_dst->yStride()); + const int64_t _stride_pdfs_dst_2 = int64_t(pdfs_dst->zStride()); + const int64_t _stride_pdfs_dst_3 = int64_t(1 * int64_t(pdfs_dst->fStride())); + switch (dir) { + case stencil::N : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_N::storagespecification_unpackRedistribute_N<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::S : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_S::storagespecification_unpackRedistribute_S<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::W : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_W::storagespecification_unpackRedistribute_W<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::E : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_E::storagespecification_unpackRedistribute_E<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::T : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_T::storagespecification_unpackRedistribute_T<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::B : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_B::storagespecification_unpackRedistribute_B<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NW : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_NW::storagespecification_unpackRedistribute_NW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NE : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_NE::storagespecification_unpackRedistribute_NE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SW : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_SW::storagespecification_unpackRedistribute_SW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SE : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_SE::storagespecification_unpackRedistribute_SE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TN : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_TN::storagespecification_unpackRedistribute_TN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TS : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_TS::storagespecification_unpackRedistribute_TS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TW : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_TW::storagespecification_unpackRedistribute_TW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TE : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_TE::storagespecification_unpackRedistribute_TE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BN : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_BN::storagespecification_unpackRedistribute_BN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BS : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_BS::storagespecification_unpackRedistribute_BS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BW : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_BW::storagespecification_unpackRedistribute_BW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BE : { + const dim3 _block(uint32_c(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_pdfs_dst_2) % (2) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))*((( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_pdfs_dst_1) % (2) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_pdfs_dst_0) % (2) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_unpackRedistribute_BE::storagespecification_unpackRedistribute_BE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + }default: break; + } +} + +void StorageSpecification::PackKernels::packPartialCoalescence(PdfField_T * pdfs_src, MaskField_T * mask, CellInterval & ci, unsigned char * outBuffer, stencil::Direction dir, gpuStream_t stream) const +{ + double * buffer = reinterpret_cast<double*>(outBuffer); + double * RESTRICT _data_buffer = buffer; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(mask->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(mask->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(mask->nrOfGhostLayers())) + uint32_t * RESTRICT const _data_mask = mask->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_src->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_src->nrOfGhostLayers())) + double * RESTRICT const _data_pdfs_src = pdfs_src->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(mask->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_mask_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(mask->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_mask_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(mask->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_mask_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_mask_0 = int64_t(mask->xStride()); + const int64_t _stride_mask_1 = int64_t(mask->yStride()); + const int64_t _stride_mask_2 = int64_t(mask->zStride()); + const int64_t _stride_pdfs_src_0 = int64_t(pdfs_src->xStride()); + const int64_t _stride_pdfs_src_1 = int64_t(pdfs_src->yStride()); + const int64_t _stride_pdfs_src_2 = int64_t(pdfs_src->zStride()); + const int64_t _stride_pdfs_src_3 = int64_t(1 * int64_t(pdfs_src->fStride())); + switch (dir) { + case stencil::N : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_N::storagespecification_packPartialCoalescence_N<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::S : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_S::storagespecification_packPartialCoalescence_S<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::W : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_W::storagespecification_packPartialCoalescence_W<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::E : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_E::storagespecification_packPartialCoalescence_E<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::T : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_T::storagespecification_packPartialCoalescence_T<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::B : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_B::storagespecification_packPartialCoalescence_B<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::NW : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_NW::storagespecification_packPartialCoalescence_NW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::NE : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_NE::storagespecification_packPartialCoalescence_NE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::SW : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_SW::storagespecification_packPartialCoalescence_SW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::SE : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_SE::storagespecification_packPartialCoalescence_SE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TN : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_TN::storagespecification_packPartialCoalescence_TN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TS : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_TS::storagespecification_packPartialCoalescence_TS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TW : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_TW::storagespecification_packPartialCoalescence_TW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::TE : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_TE::storagespecification_packPartialCoalescence_TE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BN : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_BN::storagespecification_packPartialCoalescence_BN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BS : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_BS::storagespecification_packPartialCoalescence_BS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BW : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_BW::storagespecification_packPartialCoalescence_BW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + } + case stencil::BE : { + const dim3 _block(uint32_c(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))), uint32_c(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))), uint32_c(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))))); + const dim3 _grid(uint32_c(( (( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) % (((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) == 0 ? (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) : ( (int64_t)(( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))) ) +1 )), uint32_c(( (( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) % (((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) == 0 ? (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) : ( (int64_t)(( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 )) / (int64_t)(((1024 < ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))) ? 1024 : ((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))) ) +1 )), uint32_c(( (( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) % (((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) == 0 ? (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) : ( (int64_t)(( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 )) / (int64_t)(((64 < ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))))))) ? 64 : ((( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) < 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))) ? ( (_size_mask_2) % (2) == 0 ? (int64_t)(_size_mask_2) / (int64_t)(2) : ( (int64_t)(_size_mask_2) / (int64_t)(2) ) +1 ) : 128*((int64_t)(2) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))*((( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) < 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 ))))) ? ( (_size_mask_1) % (2) == 0 ? (int64_t)(_size_mask_1) / (int64_t)(2) : ( (int64_t)(_size_mask_1) / (int64_t)(2) ) +1 ) : 2*((int64_t)(1) / (int64_t)(((1 < ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )) ? 1 : ( (_size_mask_0) % (2) == 0 ? (int64_t)(_size_mask_0) / (int64_t)(2) : ( (int64_t)(_size_mask_0) / (int64_t)(2) ) +1 )))))))))) ) +1 ))); + internal_storagespecification_packPartialCoalescence_BE::storagespecification_packPartialCoalescence_BE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_mask, _data_pdfs_src, _size_mask_0, _size_mask_1, _size_mask_2, _stride_mask_0, _stride_mask_1, _stride_mask_2, _stride_pdfs_src_0, _stride_pdfs_src_1, _stride_pdfs_src_2, _stride_pdfs_src_3); + break; + }default: break; + } +} + +void StorageSpecification::PackKernels::zeroCoalescenceRegion(PdfField_T * pdfs_dst, CellInterval & ci, stencil::Direction dir, gpuStream_t stream) const +{ + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_dst = pdfs_dst->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_pdfs_dst_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_pdfs_dst_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_pdfs_dst_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_pdfs_dst_0 = int64_t(pdfs_dst->xStride()); + const int64_t _stride_pdfs_dst_1 = int64_t(pdfs_dst->yStride()); + const int64_t _stride_pdfs_dst_2 = int64_t(pdfs_dst->zStride()); + const int64_t _stride_pdfs_dst_3 = int64_t(1 * int64_t(pdfs_dst->fStride())); + switch (dir) { + case stencil::N : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_N::storagespecification_zeroCoalescenceRegion_N<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::S : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_S::storagespecification_zeroCoalescenceRegion_S<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::W : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_W::storagespecification_zeroCoalescenceRegion_W<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::E : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_E::storagespecification_zeroCoalescenceRegion_E<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::T : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_T::storagespecification_zeroCoalescenceRegion_T<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::B : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_B::storagespecification_zeroCoalescenceRegion_B<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_NW::storagespecification_zeroCoalescenceRegion_NW<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_NE::storagespecification_zeroCoalescenceRegion_NE<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_SW::storagespecification_zeroCoalescenceRegion_SW<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_SE::storagespecification_zeroCoalescenceRegion_SE<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_TN::storagespecification_zeroCoalescenceRegion_TN<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_TS::storagespecification_zeroCoalescenceRegion_TS<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_TW::storagespecification_zeroCoalescenceRegion_TW<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_TE::storagespecification_zeroCoalescenceRegion_TE<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_BN::storagespecification_zeroCoalescenceRegion_BN<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_BS::storagespecification_zeroCoalescenceRegion_BS<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_BW::storagespecification_zeroCoalescenceRegion_BW<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_zeroCoalescenceRegion_BE::storagespecification_zeroCoalescenceRegion_BE<<<_grid, _block, 0, stream>>>(_data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + }default: break; + } +} + +void StorageSpecification::PackKernels::unpackCoalescence(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, stencil::Direction dir, gpuStream_t stream) const +{ + double * buffer = reinterpret_cast<double*>(inBuffer); + double * RESTRICT const _data_buffer = buffer; + WALBERLA_ASSERT_GREATER_EQUAL(ci.xMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.yMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + WALBERLA_ASSERT_GREATER_EQUAL(ci.zMin(), -int_c(pdfs_dst->nrOfGhostLayers())) + double * RESTRICT _data_pdfs_dst = pdfs_dst->dataAt(ci.xMin(), ci.yMin(), ci.zMin(), 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->xSizeWithGhostLayer(), int64_t(int64_c(ci.xSize()) + 0)) + const int64_t _size_pdfs_dst_0 = int64_t(int64_c(ci.xSize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->ySizeWithGhostLayer(), int64_t(int64_c(ci.ySize()) + 0)) + const int64_t _size_pdfs_dst_1 = int64_t(int64_c(ci.ySize()) + 0); + WALBERLA_ASSERT_GREATER_EQUAL(pdfs_dst->zSizeWithGhostLayer(), int64_t(int64_c(ci.zSize()) + 0)) + const int64_t _size_pdfs_dst_2 = int64_t(int64_c(ci.zSize()) + 0); + const int64_t _stride_pdfs_dst_0 = int64_t(pdfs_dst->xStride()); + const int64_t _stride_pdfs_dst_1 = int64_t(pdfs_dst->yStride()); + const int64_t _stride_pdfs_dst_2 = int64_t(pdfs_dst->zStride()); + const int64_t _stride_pdfs_dst_3 = int64_t(1 * int64_t(pdfs_dst->fStride())); + switch (dir) { + case stencil::N : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_N::storagespecification_unpackCoalescence_N<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::S : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_S::storagespecification_unpackCoalescence_S<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::W : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_W::storagespecification_unpackCoalescence_W<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::E : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_E::storagespecification_unpackCoalescence_E<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::T : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_T::storagespecification_unpackCoalescence_T<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::B : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_B::storagespecification_unpackCoalescence_B<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_NW::storagespecification_unpackCoalescence_NW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::NE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_NE::storagespecification_unpackCoalescence_NE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_SW::storagespecification_unpackCoalescence_SW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::SE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_SE::storagespecification_unpackCoalescence_SE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_TN::storagespecification_unpackCoalescence_TN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_TS::storagespecification_unpackCoalescence_TS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_TW::storagespecification_unpackCoalescence_TW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::TE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_TE::storagespecification_unpackCoalescence_TE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BN : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_BN::storagespecification_unpackCoalescence_BN<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BS : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_BS::storagespecification_unpackCoalescence_BS<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BW : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_BW::storagespecification_unpackCoalescence_BW<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + } + case stencil::BE : { + const dim3 _block(uint32_c(1), uint32_c(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)), uint32_c(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))))); + const dim3 _grid(uint32_c(( (_size_pdfs_dst_0) % (1) == 0 ? (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) : ( (int64_t)(_size_pdfs_dst_0) / (int64_t)(1) ) +1 )), uint32_c(( (_size_pdfs_dst_1) % (((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) == 0 ? (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) : ( (int64_t)(_size_pdfs_dst_1) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)) ) +1 )), uint32_c(( (_size_pdfs_dst_2) % (((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) == 0 ? (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) : ( (int64_t)(_size_pdfs_dst_2) / (int64_t)(((64 < ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1))))) ? 64 : ((_size_pdfs_dst_2 < 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))) ? _size_pdfs_dst_2 : 128*((int64_t)(2) / (int64_t)(((2 < _size_pdfs_dst_1) ? 2 : _size_pdfs_dst_1)))))) ) +1 ))); + internal_storagespecification_unpackCoalescence_BE::storagespecification_unpackCoalescence_BE<<<_grid, _block, 0, stream>>>(_data_buffer, _data_pdfs_dst, _size_pdfs_dst_0, _size_pdfs_dst_1, _size_pdfs_dst_2, _stride_pdfs_dst_0, _stride_pdfs_dst_1, _stride_pdfs_dst_2, _stride_pdfs_dst_3); + break; + }default: break; + } +} +} // namespace walberla \ No newline at end of file diff --git a/apps/benchmarks/NonUniformGridGPU/StorageSpecification.h b/apps/benchmarks/NonUniformGridGPU/StorageSpecification.h new file mode 100644 index 0000000000000000000000000000000000000000..4a10feca86df3c8ec9e4a80e84089eaa0af90670 --- /dev/null +++ b/apps/benchmarks/NonUniformGridGPU/StorageSpecification.h @@ -0,0 +1,189 @@ +//====================================================================================================================== +// +// This file is part of waLBerla. waLBerla is free software: you can +// redistribute it and/or modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// waLBerla is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. +// +//! \\file StorageSpecification.h +//! \\author lbmpy +//====================================================================================================================== + +#pragma once + +#include "core/DataTypes.h" +#include "core/cell/CellInterval.h" +#include "core/mpi/SendBuffer.h" +#include "core/mpi/RecvBuffer.h" + +#include "domain_decomposition/IBlock.h" +#include "field/GhostLayerField.h" + +#include "stencil/D3Q19.h" +#include "stencil/Directions.h" + +#define FUNC_PREFIX __global__ +#include "gpu/GPUWrapper.h" +#include "gpu/GPUField.h" + +#ifdef __GNUC__ +#define RESTRICT __restrict__ +#elif _MSC_VER +#define RESTRICT __restrict +#else +#define RESTRICT +#endif + +#if defined WALBERLA_CXX_COMPILER_IS_GNU || defined WALBERLA_CXX_COMPILER_IS_CLANG +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-parameter" +#endif + +namespace walberla +{ + +class StorageSpecification +{ + public: + // Used lattice stencil + using Stencil = stencil::D3Q19; + // Lattice stencil used for the communication (should be used to define which block directions need to be communicated) + using CommunicationStencil = stencil::D3Q19; + // If false used correction: Lattice Boltzmann Model for the Incompressible Navier–Stokes Equation, He 1997 + static const bool compressible = false; + // Cut off for the lattice Boltzmann equilibrium + static const int equilibriumAccuracyOrder = 2; + // If true the equilibrium is computed in regard to "delta_rho" and not the actual density "rho" + static const bool equilibriumDeviationOnly = true; + // If streaming pattern is inplace (esotwist, aa, ...) or not (pull, push) + static const bool inplace = false; + // If true the background deviation (rho_0 = 1) is subtracted for the collision step. + static const bool zeroCenteredPDFs = true; + // Lattice weights + static constexpr double w[19] = { 0.333333333333333,0.0555555555555556,0.0555555555555556,0.0555555555555556,0.0555555555555556,0.0555555555555556,0.0555555555555556,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778,0.0277777777777778 }; + // Inverse lattice weights + static constexpr double wInv[19] = { 3.00000000000000,18.0000000000000,18.0000000000000,18.0000000000000,18.0000000000000,18.0000000000000,18.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000,36.0000000000000 }; + + // Compute kernels to pack and unpack MPI buffers + class PackKernels { + + public: + using PdfField_T = gpu::GPUField<double>; + using value_type = typename PdfField_T::value_type; + + using MaskField_T = gpu::GPUField< uint32_t >; + + static const bool inplace = false; + + /** + * Packs all pdfs from the given cell interval to the send buffer. + * */ + void packAll(PdfField_T * pdfs_src, CellInterval & ci, unsigned char * outBuffer, gpuStream_t stream = nullptr) const; + + /** + * Unpacks all pdfs from the send buffer to the given cell interval. + * */ + void unpackAll(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, gpuStream_t stream = nullptr) const; + + /** + * Copies data between two blocks on the same process. + * All pdfs from the sending interval are copied onto the receiving interval. + * */ + void localCopyAll(PdfField_T * pdfs_src, CellInterval & srcInterval, PdfField_T * pdfs_dst, CellInterval & dstInterval, gpuStream_t stream = nullptr) const; + + /** + * Packs only those populations streaming in directions aligned with the sending direction dir from the given cell interval. + * For example, in 2D, if dir == N, the pdfs streaming in directions NW, N, NE are packed. + * */ + void packDirection(PdfField_T * pdfs_src, CellInterval & ci, unsigned char * outBuffer, stencil::Direction dir, gpuStream_t stream = nullptr) const; + + /** + * Unpacks only those populations streaming in directions aligned with the sending direction dir to the given cell interval. + * For example, in 2D, if dir == N, the pdfs streaming in directions NW, N, NE are unpacked. + * */ + void unpackDirection(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, stencil::Direction dir, gpuStream_t stream = nullptr) const; + + /** Copies data between two blocks on the same process. + * PDFs streaming aligned with the direction dir are copied from the sending interval onto the receiving interval. + * */ + void localCopyDirection(real_t ** dst, real_t ** src, int64_t fStride, int64_t size, stencil::Direction dir, gpuStream_t stream = nullptr) const; + + /** + * Returns the number of bytes that will be packed from / unpacked to the cell interval + * when using packDirection / unpackDirection + * @param ci The cell interval + * @param dir The communication direction + * @return The required size of the buffer, in bytes + * */ + uint_t size (CellInterval & ci, stencil::Direction dir) const { + return ci.numCells() * sizes[dir] * sizeof(value_type); + } + + /** + * Returns the number of bytes that will be packed from / unpacked to the cell interval + * when using packAll / unpackAll + * @param ci The cell interval + * @return The required size of the buffer, in bytes + * */ + uint_t size (CellInterval & ci) const { + return ci.numCells() * 19 * sizeof(value_type); + } + + /** + * Unpacks and uniformly redistributes populations coming from a coarse block onto the fine grid. + * */ + void unpackRedistribute(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, stencil::Direction dir, gpuStream_t stream = nullptr) const; + + /** + * Partially coalesces and packs populations streaming from a fine block into a coarse block + * */ + void packPartialCoalescence(PdfField_T * pdfs_src, MaskField_T * mask, CellInterval & ci, unsigned char * outBuffer, stencil::Direction dir, gpuStream_t stream = nullptr) const; + + /** + * Prepares a coarse block for coalescence by setting every population that must be coalesced from fine blocks to zero. + * */ + void zeroCoalescenceRegion(PdfField_T * pdfs_dst, CellInterval & ci, stencil::Direction dir, gpuStream_t stream = nullptr) const; + + /** + * Unpacks and coalesces populations coming from a fine block onto the fine grid + * */ + void unpackCoalescence(PdfField_T * pdfs_dst, CellInterval & ci, unsigned char * inBuffer, stencil::Direction dir, gpuStream_t stream = nullptr) const; + + /** + * Returns the number of bytes that will be unpacked to the cell interval + * when using unpackRedistribute. This is 2^{-d} of the data that would be + * unpacked during same-level communication. + * @param ci The cell interval + * @return The required size of the buffer, in bytes + * */ + uint_t redistributeSize(CellInterval & ci) const { + return size(ci) >> 3; + } + + /** + * Returns the number of bytes that will be packed from the cell interval + * when using packPartialCoalescence. + * @param ci The cell interval + * @param dir The communication direction + * @return The required size of the buffer, in bytes + * */ + uint_t partialCoalescenceSize(CellInterval & ci, stencil::Direction dir) const { + return size(ci, dir) >> 3; + } + + private: + const uint_t sizes[27] { 0, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; + }; + +}; + +} //walberla \ No newline at end of file diff --git a/apps/benchmarks/NonUniformGridGPU/TimeStep.h b/apps/benchmarks/NonUniformGridGPU/TimeStep.h new file mode 100644 index 0000000000000000000000000000000000000000..37775151327312b38e9425ad4af2222a55d2d5e6 --- /dev/null +++ b/apps/benchmarks/NonUniformGridGPU/TimeStep.h @@ -0,0 +1,266 @@ +//====================================================================================================================== +// +// This file is part of waLBerla. waLBerla is free software: you can +// redistribute it and/or modify it under the terms of the GNU General Public +// License as published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// waLBerla is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +// for more details. +// +// You should have received a copy of the GNU General Public License along +// with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. +// +//! \file TimeStep.h +//! \author Markus Holzer <markus.holzer@fau.de> +// +//====================================================================================================================== + +#pragma once + +#include "gpu/GPUWrapper.h" +#include "PDFCommunication.h" + +#include "timeloop/SweepTimeloop.h" + +#include <utility> + +#include "lbm_generated/gpu/NonuniformGeneratedGPUPdfPackInfo.h" + +namespace walberla +{ + +template< typename PdfField_T, typename SweepCollection_T, typename BoundaryCollection_T > +class TimeStep +{ + public: + using LatticeStorageSpecification_T = typename PdfField_T::LatticeStorageSpecification; + using Stencil = typename LatticeStorageSpecification_T::Stencil; + using CommunicationStencil = typename LatticeStorageSpecification_T::CommunicationStencil; + + using CommScheme = PDFCommunication< CommunicationStencil, PdfField_T >; + using PackInfo = lbm_generated::NonuniformGeneratedGPUPdfPackInfo< PdfField_T >; + + TimeStep(std::shared_ptr< StructuredBlockForest >& sbfs, const BlockDataID& pdfFieldId, + SweepCollection_T& sweepCollection, BoundaryCollection_T& boundaryCollection, + std::shared_ptr< CommScheme >& commScheme, std::shared_ptr< PackInfo >& pdfFieldPackInfo) + : sbfs_(sbfs), pdfFieldId_(pdfFieldId), pdfFieldPackInfo_(pdfFieldPackInfo), commScheme_(commScheme), + sweepCollection_(sweepCollection), boundaryCollection_(boundaryCollection) + { +#ifndef NDEBUG + for (auto& block : *sbfs) + WALBERLA_ASSERT(block.isDataOfType< PdfField_T >(pdfFieldId_), + "Template parameter PdfField_T is of different type than BlockDataID pdfFieldId that is " + "provided as constructor argument") +#endif + maxLevel_ = sbfs->getDepth(); + + for (uint_t level = 0; level <= maxLevel_; level++) + { + std::vector< Block* > blocks; + sbfs->getBlocks(blocks, level); + blocks_.push_back(blocks); + } + }; + + ~TimeStep() = default; + + void operator()() { timestep(0); }; + void addRefinementToTimeLoop(SweepTimeloop& timeloop, uint_t level = 0); + + private: + void timestep(uint_t level); + void ghostLayerPropagation(Block* block, gpuStream_t gpuStream); + std::function< void() > executeStreamCollideOnLevel(uint_t level, bool withGhostLayerPropagation = false); + + std::function< void() > executeBoundaryHandlingOnLevel(uint_t level); + + std::shared_ptr< StructuredBlockForest > sbfs_; + uint_t maxLevel_; + std::vector< std::vector< Block* > > blocks_; + + const BlockDataID pdfFieldId_; + std::shared_ptr< PackInfo > pdfFieldPackInfo_; + std::shared_ptr< CommScheme > commScheme_; + + SweepCollection_T& sweepCollection_; + BoundaryCollection_T& boundaryCollection_; +}; + +template< typename PdfField_T, typename SweepCollection_T, typename BoundaryCollection_T > +void TimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::timestep(uint_t level) +{ + std::vector<Block *> blocks; + sbfs_->getBlocks(blocks, level); + + uint_t maxLevel = sbfs_->getDepth(); + + // 1.1 Collision + for(auto b: blocks){ + sweepCollection_.streamCollide(b); + } + + // 1.2 Recursive Descent + if(level < maxLevel){ + timestep(level + 1); + } + + // 1.3 Coarse to Fine Communication, receiving end + if(level != 0){ + commScheme_->communicateCoarseToFine(level); + } + + // 1.4 Equal-Level Communication + commScheme_->communicateEqualLevel(level); + + // 1.5 Boundary Handling and Coalescence Preparation + for(auto b : blocks){ + boundaryCollection_(b, nullptr); + if(level != maxLevel) pdfFieldPackInfo_->prepareCoalescence(b); + } + + // 1.6 Fine to Coarse Communication, receiving end + if(level < maxLevel){ + commScheme_->communicateFineToCoarse(level + 1); + } + + // Stop here if on coarsest level. + // Otherwise, continue to second subcycle. + if(level == 0) return; + + // 2.1 Collision and Ghost-Layer Propagation + for(auto b: blocks){ + ghostLayerPropagation(b); // GL-Propagation first without swapping arrays... + sweepCollection_.streamCollide(b); // then Stream-Collide on interior, and swap arrays + } + + // 2.2 Recursive Descent + if(level < maxLevel){ + timestep(level + 1); + } + + // 2.4 Equal-Level Communication + commScheme_->communicateEqualLevel(level); + + // 2.5 Boundary Handling and Coalescence Preparation + for(auto b : blocks){ + boundaryCollection_(b, nullptr); + if(level != maxLevel) pdfFieldPackInfo_->prepareCoalescence(b); + } + + // 2.6 Fine to Coarse Communication, receiving end + if(level < maxLevel){ + commScheme_->communicateFineToCoarse(level + 1); + } +} + + +template< typename PdfField_T, typename SweepCollection_T, typename BoundaryCollection_T > +void TimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::addRefinementToTimeLoop(SweepTimeloop & timeloop, uint_t level) +{ + // 1.1 Collision + timeloop.addFuncBeforeTimeStep(executeStreamCollideOnLevel(level), "Refinement Cycle: streamCollide on level " + std::to_string(level)); + + // 1.2 Recursive Descent + if(level < maxLevel_){ + addRefinementToTimeLoop(timeloop, level + 1); + } + + // 1.3 Coarse to Fine Communication, receiving end + if(level != 0){ + timeloop.addFuncBeforeTimeStep(commScheme_->communicateCoarseToFineFunctor(level), "Refinement Cycle: communicate coarse to fine on level " + std::to_string(level)); + } + + // 1.4 Equal-Level Communication + timeloop.addFuncBeforeTimeStep(commScheme_->communicateEqualLevelFunctor(level), "Refinement Cycle: communicate equal level on level " + std::to_string(level)); + + + // 1.5 Boundary Handling and Coalescence Preparation + timeloop.addFuncBeforeTimeStep(executeBoundaryHandlingOnLevel(level), "Refinement Cycle: boundary handling on level " + std::to_string(level)); + + // 1.6 Fine to Coarse Communication, receiving end + if(level < maxLevel_){ + timeloop.addFuncBeforeTimeStep(commScheme_->communicateFineToCoarseFunctor(level + 1), "Refinement Cycle: communicate fine to coarse on level " + std::to_string(level + 1)); + } + + // Stop here if on coarsest level. + // Otherwise, continue to second subcycle. + if(level == 0) return; + + // 2.1 Collision and Ghost-Layer Propagation + timeloop.addFuncBeforeTimeStep(executeStreamCollideOnLevel(level, true), "Refinement Cycle: streamCollide with ghost layer propagation on level " + std::to_string(level)); + + // 2.2 Recursive Descent + if(level < maxLevel_) + addRefinementToTimeLoop(timeloop, level + 1); + + + // 2.4 Equal-Level Communication + timeloop.addFuncBeforeTimeStep(commScheme_->communicateEqualLevelFunctor(level), "Refinement Cycle: communicate equal level on level " + std::to_string(level)); + + // 2.5 Boundary Handling and Coalescence Preparation + timeloop.addFuncBeforeTimeStep(executeBoundaryHandlingOnLevel(level), "Refinement Cycle: boundary handling on level " + std::to_string(level)); + + // 2.6 Fine to Coarse Communication, receiving end + if(level < maxLevel_) + timeloop.addFuncBeforeTimeStep(commScheme_->communicateFineToCoarseFunctor(level + 1), "Refinement Cycle: communicate fine to coarse on level " + std::to_string(level + 1)); + +} + +template< typename PdfField_T, typename SweepCollection_T, typename BoundaryCollection_T > +std::function<void()> TimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::executeStreamCollideOnLevel(uint_t level, bool withGhostLayerPropagation) +{ + return [level, withGhostLayerPropagation, this]() + { + if (withGhostLayerPropagation) + { + for(auto b: blocks_[level]){ + ghostLayerPropagation(b, nullptr); + sweepCollection_.streamCollide(b, 0, nullptr); + } + } + else + { + for(auto b: blocks_[level]){ + sweepCollection_.streamCollide(b, 0, nullptr); + } + } + WALBERLA_GPU_CHECK(gpuDeviceSynchronize()) + }; +} + +template< typename PdfField_T, typename SweepCollection_T, typename BoundaryCollection_T > +std::function<void()> TimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::executeBoundaryHandlingOnLevel(uint_t level) +{ + return [this, level]() { + for (auto b : blocks_[level]) + { + boundaryCollection_(b, nullptr); + if (level != maxLevel_) pdfFieldPackInfo_->prepareCoalescence(b, nullptr); + } + WALBERLA_GPU_CHECK(gpuDeviceSynchronize()) + }; +} + + +template< typename PdfField_T, typename SweepCollection_T, typename BoundaryCollection_T > +void TimeStep< PdfField_T, SweepCollection_T, BoundaryCollection_T >::ghostLayerPropagation( + Block * block, gpuStream_t gpuStream) +{ + auto pdfField = block->getData<PdfField_T>(pdfFieldId_); + + for(auto it = CommunicationStencil::beginNoCenter(); it != CommunicationStencil::end(); ++it){ + uint_t nSecIdx = blockforest::getBlockNeighborhoodSectionIndex(*it); + // Propagate on ghost layers shadowing coarse or no blocks + if(!block->neighborhoodSectionHasSmallerBlocks(nSecIdx)){ + CellInterval ci; + pdfField->getGhostRegion(*it, ci, 1); + sweepCollection_.streamOnlyNoAdvancementCellInterval(block, ci, gpuStream); + } + } +} + +} // namespace walberla + diff --git a/apps/benchmarks/NonUniformGridGPU/simulation_setup/benchmark_configs.py b/apps/benchmarks/NonUniformGridGPU/simulation_setup/benchmark_configs.py index ccfcecacfb5c0f5a79b56aea13409cc3da4d2748..19e48823eb3b4d918110a6aaefb16d534b9f3607 100644 --- a/apps/benchmarks/NonUniformGridGPU/simulation_setup/benchmark_configs.py +++ b/apps/benchmarks/NonUniformGridGPU/simulation_setup/benchmark_configs.py @@ -26,7 +26,7 @@ class Scenario: }, 'Parameters': { 'omega': 1.95, - 'timesteps': 10001, + 'timesteps': 1, 'refinementDepth': self.refinement_depth, 'writeSetupForestAndReturn': False, @@ -37,7 +37,7 @@ class Scenario: 'remainingTimeLoggerFrequency': 3, - 'vtkWriteFrequency': 5000, + 'vtkWriteFrequency': 500, }, 'Logging': { 'logLevel': "info", @@ -53,7 +53,8 @@ def validation_run(): """Run with full periodic shear flow or boundary scenario (ldc) to check if the code works""" wlb.log_info_on_root("Validation run") - domain_size = (96, 96, 96) + domain_size = (64, 64, 64) + # domain_size = (96, 96, 96) cells_per_block = (32, 32, 32) root_blocks = tuple([d // c for d, c in zip(domain_size, cells_per_block)]) @@ -62,7 +63,7 @@ def validation_run(): scenario = Scenario(domain_size=domain_size, root_blocks=root_blocks, cells_per_block=cells_per_block, - refinement_depth=1) + refinement_depth=0) scenarios.add(scenario) diff --git a/src/gpu/communication/NonUniformGPUScheme.h b/src/gpu/communication/NonUniformGPUScheme.h index 093ec4cad2a830a80042073f905bb1c7316bf8ae..43253caf32bf6914394cf89c28e99351bfc3ff82 100644 --- a/src/gpu/communication/NonUniformGPUScheme.h +++ b/src/gpu/communication/NonUniformGPUScheme.h @@ -307,6 +307,8 @@ void NonUniformGPUScheme< Stencil >::startCommunicationEqualLevel(const uint_t i for (auto it : headers_[EQUAL_LEVEL][index]) bufferSystemGPU_[EQUAL_LEVEL][index].sendBuffer(it.first).clear(); + WALBERLA_GPU_CHECK(gpuDeviceSynchronize()) + // Start filling send buffers for (auto& iBlock : *forest) { @@ -431,7 +433,7 @@ void NonUniformGPUScheme< Stencil >::startCommunicationCoarseToFine(const uint_t { WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) WALBERLA_ASSERT_GREATER_EQUAL(gpuDataBuffer.remainingSize(), pi->sizeCoarseToFineSend(coarseBlock, fineReceiverId, *dir)) - pi->communicateLocalCoarseToFine(coarseBlock, fineReceiverBlock, *dir, gpuDataBuffer, streams_[*dir]); + pi->communicateLocalCoarseToFine(coarseBlock, fineReceiverBlock, *dir, gpuDataBuffer, nullptr); } } else @@ -532,7 +534,7 @@ void NonUniformGPUScheme< Stencil >::startCommunicationFineToCoarse(const uint_t { WALBERLA_ASSERT_NOT_NULLPTR(gpuDataBuffer.cur()) WALBERLA_ASSERT_GREATER_EQUAL(gpuDataBuffer.allocSize() - gpuDataBuffer.size(), pi->sizeFineToCoarseSend(fineBlock, *dir)) - pi->communicateLocalFineToCoarse(fineBlock, coarseReceiverBlock, *dir, gpuDataBuffer, streams_[*dir]); + pi->communicateLocalFineToCoarse(fineBlock, coarseReceiverBlock, *dir, gpuDataBuffer, nullptr); } } else diff --git a/src/lbm_generated/communication/NonuniformGeneratedPdfPackInfo.impl.h b/src/lbm_generated/communication/NonuniformGeneratedPdfPackInfo.impl.h index cf36a61f9813989b5e975e6782f5c3ea138a3e96..2a4d829ca73a11af330c864cece3ae8bd7b69dc2 100644 --- a/src/lbm_generated/communication/NonuniformGeneratedPdfPackInfo.impl.h +++ b/src/lbm_generated/communication/NonuniformGeneratedPdfPackInfo.impl.h @@ -66,8 +66,8 @@ setupNonuniformPdfCommunication( const std::weak_ptr< StructuredBlockForest > & template< typename PdfField_T> void NonuniformGeneratedPdfPackInfo< PdfField_T >::unpackDataEqualLevel(Block* receiver, - Direction dir, - mpi::RecvBuffer& buffer) + Direction dir, + mpi::RecvBuffer& buffer) { auto field = receiver->getData< PdfField_T >(pdfFieldID_); CellInterval ci; diff --git a/src/lbm_generated/gpu/NonuniformGeneratedGPUPdfPackInfo.h b/src/lbm_generated/gpu/NonuniformGeneratedGPUPdfPackInfo.h index 96c514fcc4369084273c098ac9bf4ad21310ae29..ffb12932ab7abd9bc705b077548b71d4b9f8d5da 100644 --- a/src/lbm_generated/gpu/NonuniformGeneratedGPUPdfPackInfo.h +++ b/src/lbm_generated/gpu/NonuniformGeneratedGPUPdfPackInfo.h @@ -105,7 +105,7 @@ class NonuniformGPUPackingKernelsWrapper< PdfField_T, false > void localCopyDirection(PdfField_T* srcField, CellInterval srcInterval, PdfField_T* dstField, CellInterval dstInterval, Direction dir, gpuStream_t stream) const { - kernels_.localCopyDirection(srcField, srcInterval, dstField, dstInterval, dir, stream); + // kernels_.localCopyDirection(srcField, srcInterval, dstField, dstInterval, dir, stream); } void unpackRedistribute(PdfField_T* dstField, CellInterval ci, unsigned char* inBuffer,