public static double calculateRho(double sigma_f, double epsilon, double theta) {

    double f1 = Math.sqrt(Math.exp(2.0) * ((sigma_f * sigma_f) + 1.0) - 1.0);
    double f2 = RobustBoost.erfinv(1.0 - epsilon);
    double numer = (f1 * f2) + Math.E * theta;
    double denom = 2.0 * (Math.E - 1.0);
    return numer / denom;
  }