pub fn log_sum_exp(values: &[f64]) -> f64
Stable log-sum-exp: log(sum(exp(x_i)))
Uses the max-trick for numerical stability: log(sum(exp(x_i))) = max_x + log(sum(exp(x_i - max_x)))