function computeSegmentedFeatureDistributionsNormalized(distributions) {
  const [T, C] = distributions;
  const sumT = T.reduce((acc, val) => acc + val, 0);
  const sumC = C.reduce((acc, val) => acc + val, 0);

  // equalize both count distribution to [0, 1]
  const equalizedT = T.map(val => val / sumT);
  const equalizedC = C.map(val => val / sumC);

  const all = equalizedT.concat(equalizedC);
  const min = Math.min(...all) - 1e-9;
  const max = Math.max(...all);
  const range = max - min;

  const normT = equalizedT.map(val => (val - min) / range);
  const normC = equalizedC.map(val => (val - min) / range);

  return [normT, normC];
}
@param {[Array]} distributions - an array of 2 arrays,
each containing unnormalized distributions of the 2 segment groups
@return {[Array]} an array of 2 arrays,
each containing normalized distributions of the 2 segment groups