in histogram/src/histogram.rs [354:366]
fn low(&self, idx: usize) -> u64 {
let idx = idx as u64;
let m = self.m as u64;
let r = self.r as u64;
let g = idx >> (self.r - self.m - 1);
let b = idx - g * self.G;
if g < 1 {
(1 << m) * b
} else {
(1 << (r + g - 2)) + (1 << (m + g - 1)) * b
}
}