double variance(List<double> x) { if (x.length < 2) return double.nan; final m = mean(x); double s = 0; for (final v in x) s += (v - m) * (v - m); return s / x.length; }