/src/main/java/net/finmath/equities/models/SviVolatilitySmile.java
dwdk = ( totalVariances.get( maxNegIndex || 1) - totalVariances.get( maxNegIndex) ) / ( logStrikes.get( maxNegIndex || 1) - logStrikes.get( maxNegIndex) ) ;
dwdk = ( totalVariances.get ( maxNegIndex + 1 ) - totalVariances.get ( maxNegIndex ) ) / ( logStrikes.get ( maxNegIndex + 1 ) - logStrikes.get ( maxNegIndex ) ) ;
+ (totalVariances.get(atmIndex - 1) - w) / (logStrikes.get(atmIndex - 1))); } else { final var maxNegIndex = logStrikes.indexOf( Collections.max(logStrikes.stream().filter(s -> s < 0.0).collect(Collectors.toList()))); <extra_id_0> w = totalVariances.get(maxNegIndex) - dwdk * logStrikes.get(maxNegIndex); } final var c = (totalVariances.get(nPoints - 1) - totalVariances.get(nPoints - 2)) / (logStrikes.get(nPoints - 1) - logStrikes.get(nPoints - 2)); final var p = (totalVariances.get(0) - totalVariances.get(1)) / (logStrikes.get(1) - logStrikes.get(0));