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