# Long message when compiling reduce\_sum model

**URL:** <https://discourse.mc-stan.org/t/long-message-when-compiling-reduce-sum-model/33579>\
**Category:** Interfaces\
**Tags:** cmdstanr\
**Created:** [December 14, 2023, 12:49am UTC](https://discourse.mc-stan.org/t/long-message-when-compiling-reduce-sum-model/33579 "2023-12-14T00:49:23Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![stressfaktors](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/stressfaktors/32/20371_2.png) [@stressfaktors](https://discourse.mc-stan.org/u/stressfaktors)\
**Post date:** [December 14, 2023, 12:49am UTC](https://discourse.mc-stan.org/t/long-message-when-compiling-reduce-sum-model/33579/1 "2023-12-14T00:49:23Z")

</div>

Hi,  
I have been trying to implement the “reduce\_sum” example provided here:  
[https://mc-stan.org/users/documentation/case-studies/reduce\_sum\_tutorial.html](https://mc-stan.org/users/documentation/case-studies/reduce_sum_tutorial.html)  
When compiling the multithreaded model (logistic1.stan) I get the very long message that I have copied below. The model does run and generates meaningful results, but there is no performance speed up when compared to the non-multithreaded model (logistic0.stan) so I wonder whether it is even possible that multithreading is not actually working? Can you help me understand what that long message I get during compiling means?

I am working on Windows10, R version 4.2.3, cmdstanr version 0.7.0 and cmdstan version 2.28.2.

Please let me know if I can provide any additional information, I am new to this forum and to the “reduce\_sum” world.

Thank you!

Compiling Stan program…  
In file included from stan/lib/stan\_math/stan/math/rev/functor.hpp:29,  
from stan/lib/stan\_math/stan/math/rev.hpp:11,  
from stan/lib/stan\_math/stan/math.hpp:19,  
from stan/src/stan/model/model\_header.hpp:4,  
from C:/Users/Euronics/AppData/Local/Temp/Rtmpa0S1Y5/model-5e601abc1d13.hpp:3:  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp: In instantiation of ‘stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::recursive\_reducer::recursive\_reducer(size\_t, size\_t, double\*, VecT&&, ArgsT&& …) [with VecT = const std::vector&; ArgsT = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_\_; ReturnType = stan::math::var\_value; Vec = const std::vector&; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; size\_t = long long unsigned int]’:  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:249:23: required from ‘stan::math::var stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::operator()(Vec&&, bool, int, std::ostream\*, Args&& …) const [with ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_\_; ReturnType = stan::math::var\_value; Vec = const std::vector&; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::  
math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type = void; stan::math::var = stan::math::var\_value; std::ostream = std::basic\_ostream]’  
stan/lib/stan\_math/stan/math/prim/functor/reduce\_sum.hpp:207:60: required from 'auto stan::math::reduce\_sum(Vec&&, int, std::ostream\*, Args&& …) [with ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_\_; Vec = const std::vector&; = void; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; std::ostream = std::basic\_ostream]’  
C:/Users/Euronics/AppData/Local/Temp/Rtmpa0S1Y5/model-5e601abc1d13.hpp:244:61: required from ‘stan::scalar\_type\_t logistic1\_model\_namespace::logistic1\_model::log\_prob\_impl(VecR&, VecI&, std::ostream\*) const [with bool propto\_\_ = false; bool jacobian\_\_ = false; VecR = Eigen::Matrix\<stan::math::var\_value, -1, 1\>; VecI = Eigen::Matrix\<int, -1, 1\>; stan::require\_vector\_like\_t\* = 0; stan::require\_vector\_like\_vt\<std::is\_integral, VecI\>\* = 0; stan::scalar\_type\_t = stan::math::var\_value; std::ostream = std::basic\_ostream]’  
C:/Users/Euronics/AppData/Local/Temp/Rtmpa0S1Y5/model-5e601abc1d13.hpp:439:77: required from ‘T\_ logistic1\_model\_namespace::logistic1\_model::log\_prob(Eigen::Matrix\<T\_job\_param, -1, 1\>&, std::ostream\*) const [with bool propto\_\_ = false; bool jacobian\_\_ = false; T\_ = stan::math::var\_value; std::ostream = std::basic\_ostream]’  
stan/src/stan/model/model\_base\_crtp.hpp:96:77: required from ‘stan::math::var stan::model::model\_base\_crtp::log\_prob(Eigen::Matrix\<stan::math::var\_value, -1, 1\>&, std::ostream\*) const [with M = logistic1\_model\_namespace::logistic1\_model; stan::math::var = stan::mat  
h::var\_value; std::ostream = std::basic\_ostream]’  
stan/src/stan/model/model\_base\_crtp.hpp:93:20: required from here  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:58:23: warning: ‘stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::local\_args\_tuple\_scope\_’ will be initialized after [-Wreorder]  
scoped\_args\_tuple local\_args\_tuple\_scope\_;  
^ ~~~~~~~~~~~~~~~~~~~~~~

stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:57:25: warning: ‘std::tuple\<const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\> stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::args\_tuple\_’ [-Wreorder]  
std::tuple\<Args…\> args\_tuple\_;  
^ ~~~~~~~~~~  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:63:5: warning: when initialized here [-Wreorder]  
recursive\_reducer(size\_t num\_vars\_per\_term, size\_t num\_vars\_shared\_terms,  
^ ~~~~~~~~~~~~~~~~

stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp: In instantiation of ‘stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::recursive\_reducer::recursive\_reducer(size\_t, size\_t, double\*, VecT&&, ArgsT&& …) [with VecT = const std::vector&; ArgsT = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_\_; ReturnType = stan::math::var\_value; Vec = const std::vector&; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; size\_t = long long unsigned int]’:  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:249:23: required from ‘stan::math::var stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::operator()(Vec&&, bool, int, std::ostream\*, Args&& …) const [with ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_\_; ReturnType = stan::math::var\_value; Vec = const std::vector&; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type = void; stan::math::var = stan::math::var\_value; std::ostream = std::basic\_ostream]’  
stan/lib/stan\_math/stan/math/prim/functor/reduce\_sum.hpp:207:60: required from 'auto stan::math::reduce\_s  
um(Vec&&, int, std::ostream\*, Args&& …) [with ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_\_; Vec = const std::vector&; = void; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}; std::ostream = std::basic\_ostream]’  
C:/Users/Euronics/AppData/Local/Temp/Rtmpa0S1Y5/model-5e601abc1d13.hpp:244:61: required from ‘stan::scalar\_type\_t logistic1\_model\_namespace::logistic1\_model::log\_prob\_impl(VecR&, VecI&, std::ostream\*) const [with bool propto\_\_ = true; bool jacobian\_\_ = false; VecR = Eigen::Matrix\<stan::math::var\_value, -1, 1\>; VecI = Eigen::Matrix\<int, -1, 1\>; stan::require\_vector\_like\_t\* = 0; stan::require\_vector\_like\_vt\<std::is\_integral, VecI\>\* = 0; stan::scalar\_type\_t = stan::math::var\_value; std::ostream = std::basic\_ostream]’  
C:/Users/Euronics/AppData/Local/Temp/Rtmpa0S1Y5/model-5e601abc1d13.hpp:439:77: required from ‘T\_ logistic1\_model\_namespace::logistic1\_model::log\_prob(Eigen::Matrix\<T\_job\_param, -1, 1\>&, std::ostream\*) const [with bool propto\_\_ = true; bool jacobian\_\_ = false; T\_ = stan::math::var\_value; std::ostream = std::basic\_ostream]’  
stan/src/stan/model/model\_base\_crtp.hpp:118:76: required from ‘stan::math::var stan::model::model\_base\_crtp::log\_prob\_propto(Eigen::Matrix\<stan::math::var\_value, -1, 1\>&, std::ostream\*) const [with M = logistic1\_model\_namespace::logistic1\_model; stan::math::var = stan::math::var\_value; std::ostream = std::basic\_ostream]’  
stan/src/stan/model/model\_base\_crtp.hpp:115:20: required from here  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:58:23: warning: ‘stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, cons  
t std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::local\_args\_tuple\_scope\_’ will be initialized after [-Wreorder]  
scoped\_args\_tuple local\_args\_tuple\_scope\_;  
^ ~~~~~~~~~~~~~~~~~~~~~~

stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:57:25: warning: ‘std::tuple\<const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\> stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::args\_tuple\_’ [-Wreorder]  
std::tuple\<Args…\> args\_tuple\_;  
^ ~~~~~~~~~~  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:63:5: warning: when initialized here [-Wreorder]  
recursive\_reducer(size\_t num\_vars\_per\_term, size\_t num\_vars\_shared\_terms,  
^ ~~~~~~~~~~~~~~~~

stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp: In instantiation of ‘stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::recursive\_reducer::recursive\_reducer(stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::recursive\_reducer&, tbb::split) [with ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_; ReturnType = stan::math::var\_value; Vec = const std::vector&; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}]’:  
stan/lib/stan\_math/lib/tbb\_2020.3/include/tbb/parallel\_reduce.h:186:27: required from ‘tbb::task\* tbb::interface9::internal::start\_reduce\<Range, Body, Partitioner\>::execute() [with Range = tbb::blocked\_range; Body = stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer; Partitioner = const tbb::auto\_partitioner]’  
stan/lib/stan\_math/lib/tbb\_2020.3/include/tbb/parallel\_reduce.h:181:11: required from here  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:58:23: warning: ‘stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0,  
0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::local\_args\_tuple\_scope\_’ will be initialized after [-Wreorder]  
scoped\_args\_tuple local\_args\_tuple\_scope\_;  
^ ~~~~~~~~~~~~~~~~~~~~~~

stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:57:25: warning: ‘std::tuple\<const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\> stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::args\_tuple\_’ [-Wreorder]  
std::tuple\<Args…\> args\_tuple\_;  
^ ~~~~~~~~~~  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:78:5: warning: when initialized here [-Wreorder]  
recursive\_reducer(recursive\_reducer& other, tbb::split)  
^ ~~~~~~~~~~~~~~~~  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp: In instantiation of ‘stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<_Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::recursive\_reducer::recursive\_reducer(stan::math::internal::reduce\_sum\_impl\<ReduceFunction, typename std::enable\_if\<stan::is\_var\<typename std::decay\<Arg\>::type, void\>::value, void\>::type, ReturnType, Vec, Args …\>::recursive\_reducer&, tbb::split) [with ReduceFunction = logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor_; ReturnType = stan::math::var\_value; Vec = const std::vector&; Args = {const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&}]’:  
stan/lib/stan\_math/lib/tbb\_2020.3/include/tbb/parallel\_reduce.h:186:27: required from ‘tbb::task\* tbb::interface9::internal::start\_reduce\<Range, Body, Partit  
ioner\>::execute() [with Range = tbb::blocked\_range; Body = stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer; Partitioner = const tbb::auto\_partitioner]’  
stan/lib/stan\_math/lib/tbb\_2020.3/include/tbb/parallel\_reduce.h:181:11: required from here  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:58:23: warning: ‘stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::local\_args\_tuple\_scope\_’ will be initialized after [-Wreorder]  
scoped\_args\_tuple local\_args\_tuple\_scope\_;  
^ ~~~~~~~~~~~~~~~~~~~~~~  
stan/lib/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:57:25: warning: ‘std::tuple\<const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\> stan::math::internal::reduce\_sum\_impl\<logistic1\_model\_namespace::partial\_sum\_lpmf\_rsfunctor\_\_, void, stan::math::var\_value, const std::vector&, const std::vector\<int, std::allocator \>&, const Eigen::Map\<Eigen::Matrix\<double, -1, 1, 0, -1, 1\>, 0, Eigen::Stride\<0, 0\> \>&, Eigen::Matrix\<stan::math::var\_value\<double, void\>, -1, 1, 0, -1, 1\>&\>::recursive\_reducer::args\_tuple\_’ [-Wreorder]  
std::tuple\<Args…\> args\_tuple\_;  
^ ~~~~~~~~~~  
stan/li  
b/stan\_math/stan/math/rev/functor/reduce\_sum.hpp:78:5: warning: when initialized here [-Wreorder]  
recursive\_reducer(recursive\_reducer& other, tbb::split)
