| getValues(double, DoubleUnaryOperator) |  | 0% |  | 0% | 18 | 18 | 53 | 53 | 1 | 1 |
| fillDownInInactiveStep(double[], int, double[], double[], double[], double[], double, double, double, double) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| solveVanillaStepAmerican(double[], double[], double, double, double, double, double, DoubleUnaryOperator) |  | 0% |  | 0% | 4 | 4 | 30 | 30 | 1 | 1 |
| fillUpInInactiveStep(double[], int, double[], double[], double[], double[], double, double, double, double) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| solveVanillaStep(double[], double[], double, double, double, double, double) |  | 0% |  | 0% | 4 | 4 | 29 | 29 | 1 | 1 |
| FDMThetaMethod1DTwoState(FiniteDifferenceEquityModel, FiniteDifferenceOneDimensionalKnockInProduct, SpaceTimeDiscretization, Exercise, TwoStateActiveBoundaryProvider, TwoStateActivationPolicy) |  | 0% |  | 0% | 7 | 7 | 20 | 20 | 1 | 1 |
| getDiscountedNoHitValue(double) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| applyBermudanExerciseProjection(double[], double[], DoubleUnaryOperator, double, double) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| buildActiveObstacleVector(double[], DoubleUnaryOperator, double, double) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| getValue(double, double, DoubleUnaryOperator) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| isAlreadyHitRegion(double, BarrierType, double) |  | 0% |  | 0% | 5 | 5 | 4 | 4 | 1 | 1 |
| sliceGrid(double[], int, int) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getValues(double, double[]) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| findBarrierIndex(double[], double) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| findGridIndex(double[], double) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| FDMThetaMethod1DTwoState(FiniteDifferenceEquityModel, FiniteDifferenceOneDimensionalKnockInProduct, SpaceTimeDiscretization, Exercise, TwoStateActiveBoundaryProvider) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$getValues$0(double[], double[], double) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |