On Jan 23, 2015, at 2:16 PM, Martin Buchholz <marti...@google.com> wrote:
> I don't get it. t0 and t1 are supposed to be symmetrical (perhaps obtained > in different threads). > Switching them around doesn't change anything. And correctness in the face > of two's complement numerical overflow is the whole point of the example! My take on it is, for example, given the (non-overflowing) mathematical quantities T0 = 2^63 - 42 T1 = 2^63 and the Java variables long t0 = Long.MAX_VALUE - 41; long t1 = t0 + 42; then the Java logical expression (t0 - t1) < 0 is equivalent to the mathematical inequality T0 < T1 which is what would want when comparing two such values.