longdecode2(long x, long y, long z) { y -= z; // y = y - z x *= y; // x = x * y long result = y; // result = y result <<= 63; // result = result << 63 result >>= 63; // result = result >> 63 result ^= x; // result = result ^ x return result; // return result }