/src/main/java/net/finmath/singleswaprate/products/AbstractSingleSwapRateProduct.java
final DoubleUnaryOperator receiverIntegrand = x -> ( hedgeWeight( x, model) * valuePut( x,model, forwardSwapRate) ) ;
final DoubleUnaryOperator receiverIntegrand = x -> ( hedgeWeight ( x, internalAnnuityMapping, model ) * valuePut ( x,model, forwardSwapRate ) ) ;
double receiverLeg = 0.0; double payerLeg = 0.0; final double lowerBound = getVolatilityCubeName() == null ? this.lowerBound : Math.max(this.lowerBound, model.getVolatilityCube(getVolatilityCubeName()).getLowestStrike(model)); final RealIntegral receiverIntegral = new SimpsonRealIntegrator(lowerBound, forwardSwapRate, numberOfEvaluationPoints); final RealIntegral payerIntegral = new SimpsonRealIntegrator(forwardSwapRate, upperBound, numberOfEvaluationPoints); <extra_id_0> final DoubleUnaryOperator payerIntegrand = x -> (hedgeWeight(x, internalAnnuityMapping, model) * valueCall(x,model, forwardSwapRate)); receiverLeg = receiverIntegral.integrate(receiverIntegrand); payerLeg = payerIntegral.integrate(payerIntegrand); double value = ((payoffFunction(forwardSwapRate, internalAnnuityMapping, model)) + receiverLeg + payerLeg + singularAddon(forwardSwapRate, internalAnnuityMapping, model)); if(evaluationTime != getFixSchedule().getPeriodStart(0)) {