Whoops, should be: import std.stdio; void main() { float x1 = long.max; float x2 = long.max - int.max; writeln(typeof(x2).stringof, " ", x2); } Not that it makes a difference.