/src/main/java/net/finmath/equities/models/Black76Model.java
final double bTildeUpper = ( bUpper >= fOfZ) ? bUpper : bMaxHalf;
final double bTildeUpper = ( bUpper >= bMaxHalf ) ? bUpper : bMaxHalf;
final double h = bMax - bUpper; final double r = (0.5 * fPrime2 * h - 0.5 - fPrime) / (-f / h - fPrime); final double fRC = rationalCubicInterpol(beta, bUpper, bMax, f, 0.0, fPrime, -0.5, r); impliedSdev = -2.0 * NormalDistribution.inverseCumulativeDistribution(fRC); } final double bMaxHalf = 0.5 * bMax; <extra_id_0> final Function<Double, Double[]> BlackFunctionDerivatives = sigma -> { final double d1 = x / sigma; final double d2 = 0.5 * sigma; final double d1Square = d1 * d1; final double d2Square = d2 * d2; final double b0 = NormalDistribution.cumulativeDistribution(d1 + d2) * bMax - NormalDistribution.cumulativeDistribution(d1 - d2) / bMax;