Ticket #10364: b-r3.out

File b-r3.out, 196.4 KB (added by mouse008@…, 8 years ago)

Compiler (clang-3.4.2 from macports) output demonstrating the problem. Same code compiles and runs fine with same compilers with boost_1_55_0.

Line 
1clang version 3.4.2 (tags/RELEASE_34/dot2-final)
2Target: x86_64-apple-darwin13.3.0
3Thread model: posix
4 "/opt/local/libexec/llvm-3.4/bin/clang" -cc1 -triple x86_64-apple-macosx10.9.0 -emit-obj -mrelax-all -disable-free -main-file-name boost-r3.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 236.3 -v -coverage-file /Users/uri/src/boost-examples/boost-r3.o -resource-dir /opt/local/libexec/llvm-3.4/bin/../lib/clang/3.4.2 -I /opt/local/include -stdlib=libc++ -fdeprecated-macro -fdebug-compilation-dir /Users/uri/src/boost-examples -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.9.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fdiagnostics-show-option -vectorize-slp -o boost-r3.o -x c++ boost-r3.cpp
5clang -cc1 version 3.4.2 based upon LLVM 3.4.2 default target x86_64-apple-darwin13.3.0
6ignoring nonexistent directory "/usr/include/c++/v1"
7#include "..." search starts here:
8#include <...> search starts here:
9 /opt/local/include
10 /opt/local/libexec/llvm-3.4/bin/../include/c++/v1
11 /usr/local/include
12 /opt/local/libexec/llvm-3.4/bin/../lib/clang/3.4.2/include
13 /usr/include
14 /System/Library/Frameworks (framework directory)
15 /Library/Frameworks (framework directory)
16End of search list.
17In file included from boost-r3.cpp:3:
18In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
19In file included from /opt/local/include/boost/random.hpp:71:
20In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
21In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
22/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, [2 * ...]>'
23 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
24 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
26 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
27 ^
28/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
29 { return detail::generate_uniform_real(eng, _min, _max); }
30 ^
31boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
32 << ur(gen3) << " "
33 ^
34/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> &' for 1st argument
35struct expression<tag, Arg1, Arg2, void, void>
36 ^
37/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
38 operator unmentionable_type()const
39 ^
40In file included from boost-r3.cpp:1:
41In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
42In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
43In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
44In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
45In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
46In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
47/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>')
48 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
49 ^
50/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, false>::max' requested here
51 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
52 ^
53/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >::max' requested here
54 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
55 ^
56/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
57 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
58 ^
59/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
60 { return detail::generate_uniform_real(eng, _min, _max); }
61 ^
62boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
63 << ur(gen3) << " "
64 ^
65/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
66 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
67 ^
68/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
69struct expression<tag, Arg1, Arg2, void, void>
70 ^
71In file included from boost-r3.cpp:3:
72In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
73In file included from /opt/local/include/boost/random.hpp:71:
74In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
75In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
76/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, [2 * ...]>'
77 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
78 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
80 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
81 ^
82/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
83 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
84 ^
85/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
86 { return detail::generate_uniform_real(eng, _min, _max); }
87 ^
88boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
89 << ur(gen3) << " "
90 ^
91/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> &' for 1st argument
92struct expression<tag, Arg1, Arg2, void, void>
93 ^
94/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
95 operator unmentionable_type()const
96 ^
97In file included from boost-r3.cpp:1:
98In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
99In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
100In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
101In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
102In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
103In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
104/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>')
105 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
106 ^
107/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, false>::max' requested here
108 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
109 ^
110/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >::max' requested here
111 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
112 ^
113/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
114 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
115 ^
116/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
117 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
118 ^
119/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
120 { return detail::generate_uniform_real(eng, _min, _max); }
121 ^
122boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
123 << ur(gen3) << " "
124 ^
125/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
126 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
127 ^
128/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
129struct expression<tag, Arg1, Arg2, void, void>
130 ^
131In file included from boost-r3.cpp:3:
132In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
133In file included from /opt/local/include/boost/random.hpp:71:
134In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
135In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
136/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, [2 * ...]>'
137 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
138 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
140 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
141 ^
142/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
143 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
144 ^
145/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
146 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
147 ^
148/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
149 { return detail::generate_uniform_real(eng, _min, _max); }
150 ^
151boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
152 << ur(gen3) << " "
153 ^
154/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
155struct expression<tag, Arg1, Arg2, void, void>
156 ^
157/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
158 operator unmentionable_type()const
159 ^
160In file included from boost-r3.cpp:1:
161In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
162In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
163In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
164In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
165In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
166In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
167/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>')
168 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
169 ^
170/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here
171 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
172 ^
173/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >::max' requested here
174 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
175 ^
176/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
177 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
178 ^
179/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
180 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
181 ^
182/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
183 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
184 ^
185/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
186 { return detail::generate_uniform_real(eng, _min, _max); }
187 ^
188boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
189 << ur(gen3) << " "
190 ^
191/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
192 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
193 ^
194/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
195struct expression<tag, Arg1, Arg2, void, void>
196 ^
197In file included from boost-r3.cpp:3:
198In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
199In file included from /opt/local/include/boost/random.hpp:71:
200In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
201In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
202/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>'
203 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
204 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
205/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
206 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
207 ^
208/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
209 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
210 ^
211/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
212 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
213 ^
214/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
215 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
216 ^
217/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
218 { return detail::generate_uniform_real(eng, _min, _max); }
219 ^
220boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
221 << ur(gen3) << " "
222 ^
223/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
224struct expression<tag, Arg1, Arg2, void, void>
225 ^
226/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
227 operator unmentionable_type()const
228 ^
229In file included from boost-r3.cpp:1:
230In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
231In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
232In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
233In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
234In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
235In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
236/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>')
237 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
238 ^
239/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here
240 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
241 ^
242/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here
243 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
244 ^
245/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
246 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
247 ^
248/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
249 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
250 ^
251/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
252 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
253 ^
254/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
255 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
256 ^
257/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
258 { return detail::generate_uniform_real(eng, _min, _max); }
259 ^
260boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
261 << ur(gen3) << " "
262 ^
263/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
264 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
265 ^
266/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
267struct expression<tag, Arg1, Arg2, void, void>
268 ^
269In file included from boost-r3.cpp:3:
270In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
271In file included from /opt/local/include/boost/random.hpp:71:
272In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
273In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
274/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>'
275 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
276 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
277/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
278 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
279 ^
280/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
281 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
282 ^
283/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
284 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
285 ^
286/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
287 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
288 ^
289/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
290 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
291 ^
292/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
293 { return detail::generate_uniform_real(eng, _min, _max); }
294 ^
295boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
296 << ur(gen3) << " "
297 ^
298/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
299struct expression<tag, Arg1, Arg2, void, void>
300 ^
301/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
302 operator unmentionable_type()const
303 ^
304In file included from boost-r3.cpp:1:
305In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
306In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
307In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
308In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
309In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
310In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
311/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>')
312 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
313 ^
314/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here
315 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
316 ^
317/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here
318 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
319 ^
320/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
321 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
322 ^
323/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
324 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
325 ^
326/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
327 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
328 ^
329/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
330 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
331 ^
332/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
333 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
334 ^
335/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
336 { return detail::generate_uniform_real(eng, _min, _max); }
337 ^
338boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
339 << ur(gen3) << " "
340 ^
341/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
342 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
343 ^
344/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
345struct expression<tag, Arg1, Arg2, void, void>
346 ^
347In file included from boost-r3.cpp:3:
348In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
349In file included from /opt/local/include/boost/random.hpp:71:
350In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
351In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
352/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>'
353 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
354 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
355/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
356 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
357 ^
358/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
359 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
360 ^
361/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
362 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
363 ^
364/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
365 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
366 ^
367/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
368 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
369 ^
370/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
371 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
372 ^
373/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
374 { return detail::generate_uniform_real(eng, _min, _max); }
375 ^
376boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
377 << ur(gen3) << " "
378 ^
379/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
380struct expression<tag, Arg1, Arg2, void, void>
381 ^
382/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
383 operator unmentionable_type()const
384 ^
385In file included from boost-r3.cpp:1:
386In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
387In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
388In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
389In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
390In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
391In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
392/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>')
393 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
394 ^
395/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here
396 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
397 ^
398/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here
399 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
400 ^
401/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
402 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
403 ^
404/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
405 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
406 ^
407/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
408 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
409 ^
410/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
411 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
412 ^
413/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
414 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
415 ^
416/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
417 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
418 ^
419/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
420 { return detail::generate_uniform_real(eng, _min, _max); }
421 ^
422boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
423 << ur(gen3) << " "
424 ^
425/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
426 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
427 ^
428/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
429struct expression<tag, Arg1, Arg2, void, void>
430 ^
431In file included from boost-r3.cpp:3:
432In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
433In file included from /opt/local/include/boost/random.hpp:71:
434In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
435In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
436/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>'
437 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
438 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
439/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
440 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
441 ^
442/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
443 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
444 ^
445/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
446 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
447 ^
448/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
449 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
450 ^
451/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
452 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
453 ^
454/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
455 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
456 ^
457/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
458 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
459 ^
460/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
461 { return detail::generate_uniform_real(eng, _min, _max); }
462 ^
463boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
464 << ur(gen3) << " "
465 ^
466/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
467struct expression<tag, Arg1, Arg2, void, void>
468 ^
469/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
470 operator unmentionable_type()const
471 ^
472In file included from boost-r3.cpp:1:
473In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
474In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
475In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
476In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
477In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
478In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
479/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>')
480 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
481 ^
482/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here
483 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
484 ^
485/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here
486 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
487 ^
488/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
489 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
490 ^
491/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
492 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
493 ^
494/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
495 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
496 ^
497/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
498/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
499 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
500 ^
501/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
502 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
503 ^
504/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
505 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
506 ^
507/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
508 { return detail::generate_uniform_real(eng, _min, _max); }
509 ^
510boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
511 << ur(gen3) << " "
512 ^
513/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
514 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
515 ^
516/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
517struct expression<tag, Arg1, Arg2, void, void>
518 ^
519In file included from boost-r3.cpp:3:
520In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
521In file included from /opt/local/include/boost/random.hpp:71:
522In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
523In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
524/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>'
525 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
526 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
527/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
528 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
529 ^
530/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
531 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
532 ^
533/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
534 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
535 ^
536/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
537 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
538 ^
539/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
540 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
541 ^
542/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
543 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
544 ^
545/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
546 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
547 ^
548/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
549 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
550 ^
551/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
552 { return detail::generate_uniform_real(eng, _min, _max); }
553 ^
554boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
555 << ur(gen3) << " "
556 ^
557/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
558struct expression<tag, Arg1, Arg2, void, void>
559 ^
560/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
561 operator unmentionable_type()const
562 ^
563In file included from boost-r3.cpp:1:
564In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
565In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
566In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
567In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
568In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
569In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
570/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>')
571 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
572 ^
573/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here
574 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
575 ^
576/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here
577 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
578 ^
579/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
580 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
581 ^
582/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
583 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
584 ^
585/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
586 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
587 ^
588/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
589/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
590 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
591 ^
592/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
593 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
594 ^
595/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
596 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
597 ^
598/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
599 { return detail::generate_uniform_real(eng, _min, _max); }
600 ^
601boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
602 << ur(gen3) << " "
603 ^
604/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
605 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
606 ^
607/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
608struct expression<tag, Arg1, Arg2, void, void>
609 ^
610In file included from boost-r3.cpp:3:
611In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
612In file included from /opt/local/include/boost/random.hpp:71:
613In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
614In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
615/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>'
616 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
617 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
618/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
619 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
620 ^
621/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
622 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
623 ^
624/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
625 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
626 ^
627/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
628 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
629 ^
630/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
631 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
632 ^
633/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
634/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
635 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
636 ^
637/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
638 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
639 ^
640/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
641 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
642 ^
643/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
644 { return detail::generate_uniform_real(eng, _min, _max); }
645 ^
646boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
647 << ur(gen3) << " "
648 ^
649/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
650struct expression<tag, Arg1, Arg2, void, void>
651 ^
652/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
653 operator unmentionable_type()const
654 ^
655In file included from boost-r3.cpp:1:
656In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/iostream:38:
657In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/ios:216:
658In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/__locale:15:
659In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/string:439:
660In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/algorithm:627:
661In file included from /opt/local/libexec/llvm-3.4/bin/../include/c++/v1/memory:599:
662/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:148:85: error: no matching constructor for initialization of 'type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>')
663 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();}
664 ^
665/opt/local/libexec/llvm-3.4/bin/../include/c++/v1/limits:448:93: note: in instantiation of member function 'std::__1::__libcpp_numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, false>::max' requested here
666 _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return __base::max();}
667 ^
668/opt/local/include/boost/random/uniform_real_distribution.hpp:68:65: note: in instantiation of member function 'std::__1::numeric_limits<boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >::max' requested here
669 if(max_value / 2 - min_value / 2 > (std::numeric_limits<T>::max)() / 2)
670 ^
671/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
672 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
673 ^
674/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
675 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
676 ^
677/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
678 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
679 ^
680/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
681/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
682 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
683 ^
684/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
685 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
686 ^
687/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
688 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
689 ^
690/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
691 { return detail::generate_uniform_real(eng, _min, _max); }
692 ^
693boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
694 << ur(gen3) << " "
695 ^
696/opt/local/include/boost/multiprecision/detail/number_base.hpp:410:4: note: candidate constructor not viable: requires 2 arguments, but 0 were provided
697 expression(const Arg1& a1, const Arg2& a2) : arg1(a1), arg2(a2) {}
698 ^
699/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 0 were provided
700struct expression<tag, Arg1, Arg2, void, void>
701 ^
702In file included from boost-r3.cpp:3:
703In file included from /opt/local/include/boost/multiprecision/random.hpp:31:
704In file included from /opt/local/include/boost/random.hpp:71:
705In file included from /opt/local/include/boost/random/piecewise_constant_distribution.hpp:19:
706In file included from /opt/local/include/boost/random/uniform_real.hpp:23:
707/opt/local/include/boost/random/uniform_real_distribution.hpp:69:16: error: no viable conversion from 'expression<struct boost::multiprecision::detail::multiplies, int, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, [2 * ...]>' to 'expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divides, struct boost::multiprecision::detail::expression<struct boost::multiprecision::detail::divide_immediates, class boost::multiprecision::number<struct boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, [2 * ...]>'
708 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
709 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
710/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
711 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
712 ^
713/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
714 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
715 ^
716/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
717 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
718 ^
719/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
720 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
721 ^
722/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> >' requested here
723 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
724 ^
725/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
726/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void> >' requested here
727 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
728 ^
729/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void> >' requested here
730 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
731 ^
732/opt/local/include/boost/random/uniform_real_distribution.hpp:69:20: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void> >' requested here
733 return 2 * generate_uniform_real(eng, min_value / 2, max_value / 2);
734 ^
735/opt/local/include/boost/random/uniform_real_distribution.hpp:192:22: note: in instantiation of function template specialization 'boost::random::detail::generate_uniform_real<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >' requested here
736 { return detail::generate_uniform_real(eng, _min, _max); }
737 ^
738boost-r3.cpp:30:15: note: in instantiation of function template specialization 'boost::random::uniform_real_distribution<boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> >::operator()<boost::random::independent_bits_engine<boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>, 100, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1> > >' requested here
739 << ur(gen3) << " "
740 ^
741/opt/local/include/boost/multiprecision/detail/number_base.hpp:400:8: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'typename enable_if<is_compatible_arithmetic_type<int, typename detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>::result_type>, detail::expression<detail::multiplies, int, detail::expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divides, expression<divide_immediates, number<gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> > >::type' (aka 'boost::multiprecision::detail::expression<boost::multiprecision::detail::multiplies, int, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, void, void>') to 'const boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divides, boost::multiprecision::detail::expression<boost::multiprecision::detail::divide_immediates, boost::multiprecision::number<boost::multiprecision::backends::gmp_float<50>, 1>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void>, int, void, void> &' for 1st argument
742struct expression<tag, Arg1, Arg2, void, void>
743 ^
744/opt/local/include/boost/multiprecision/detail/number_base.hpp:424:4: note: candidate function
745 operator unmentionable_type()const
746 ^
747fatal error: too many errors emitted, stopping now [-ferror-limit=]
74820 errors generated.