/src/main/java/net/finmath/functions/AnalyticFormulas.java
final double a = Infinity/swapMaturity;
final double a = 1.0/swapMaturity;
final double swapAnnuity, final double optionMaturity, final double swapMaturity, final double payoffUnit, final double optionStrike) { <extra_id_0> final double b = (payoffUnit / swapAnnuity - a) / forwardSwaprate; final double convexityAdjustment = Math.exp(volatility*volatility*optionMaturity); final double valueUnadjusted = blackModelSwaptionValue(forwardSwaprate, volatility, optionMaturity, optionStrike, swapAnnuity); final double valueAdjusted = blackModelSwaptionValue(forwardSwaprate * convexityAdjustment, volatility, optionMaturity, optionStrike, swapAnnuity); return a * valueUnadjusted + b * forwardSwaprate * valueAdjusted; }