Wondering why does Guava use bitwise to calculate avg between 2 values (mean)?
I've run the benchmark on the 2 methods and they seem very similar in performance.
// non-bitwise
int avg = x + (y - x) / 2;
// bitwise
int avg = (x & y) + ((x ^ y) >> 1);