With dmd 2.049beta this asserts: import std.bigint: BigInt; void main() { assert(((BigInt(3) * BigInt(-2)) + (BigInt(-5) * BigInt(-1))) == BigInt(-1)); } I think in some situations BigInt(3)*BigInt(-2) == BigInt(6).
Fixed svn 2007.