Why does this throw these assert errors? both are thrown. All 3 - DMD 2.008/2.009/2.010 void main() { real x = 0.6584L; double y = 0.6584; assert(x == y); assert(cast(double)x == y); }