Hmm? Your examples show -0.0 being additively neutral in every case. +0.0 is the one that behaves weirdly.