https://issues.dlang.org/show_bug.cgi?id=13474
--- Comment #6 from Илья Ярошенко <ilyayaroshenko at gmail.com> ---
F foo(F)(F c, F d) {
c += d;
c += d;
return c;
}
void test1() {
alias F = double;
enum F d = (cast(F)(2)) ^^ (F.max_exp - 1);
assert(foo(-d, d) == d);
}
--