Here is the example with comments:
class Program { // first version of structure public struct D1 { public double d; public int f
It must be zero related, since changing the line
d.d = -0.0
to:
d.d = 0.0
results in the comparison being true...