public double gaussianRegret(final double target) {
final double m = statistics.mean();
final double std = statistics.standardDeviation();
final double variance = std * std;
final CumulativeNormalDistribution gIntegral = new CumulativeNormalDistribution(m, std);
final NormalDistribution g = new NormalDistribution(m, std);
final double firstTerm = variance + m * m - 2.0 * target * m + target * target;
final double alfa = gIntegral.op(target);
final double secondTerm = m - target;
final double beta = variance * g.op(target);
final double result = alfa * firstTerm - beta * secondTerm;
return result / alfa;
}