| collectEquivalenceCandidates(StructInfo, StructInfo, SlotMapping, ComparisonResult) |   | 16% |   | 12% | 12 | 13 | 34 | 42 | 0 | 1 |
| toString() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| extractDnfBranches(Expression) |   | 85% |   | 75% | 4 | 9 | 6 | 31 | 0 | 1 |
| compensateCouldNotPullUpPredicates(StructInfo, StructInfo, SlotMapping, ComparisonResult) |   | 86% |   | 57% | 5 | 8 | 3 | 20 | 0 | 1 |
| normalizeComparisonPredicate(ComparisonPredicate) |   | 46% |   | 25% | 2 | 3 | 1 | 3 | 0 | 1 |
| collectRangeCandidates(StructInfo, StructInfo, SlotMapping, ComparisonResult, CascadesContext) |   | 95% |   | 75% | 2 | 5 | 2 | 22 | 0 | 1 |
| compensatePredicates(StructInfo, StructInfo, SlotMapping, ComparisonResult, CascadesContext) |   | 94% |   | 66% | 2 | 4 | 2 | 23 | 0 | 1 |
| impliesByDnf(Expression, Expression) |   | 92% |   | 83% | 2 | 7 | 2 | 17 | 0 | 1 |
| crossProductBranches(List, List) |   | 96% |   | 80% | 2 | 6 | 1 | 14 | 0 | 1 |
| collectResidualCandidates(StructInfo) |   | 94% |   | 75% | 1 | 3 | 1 | 9 | 0 | 1 |
| collectCompensationCandidates(StructInfo, StructInfo, SlotMapping, ComparisonResult, CascadesContext) |   | 93% |   | 50% | 3 | 4 | 1 | 6 | 0 | 1 |
| buildCombinedPredicate(Collection[]) |  | 100% |   | 83% | 1 | 4 | 0 | 7 | 0 | 1 |
| branchImplies(Set, Set) |  | 100% |  | 100% | 0 | 5 | 0 | 11 | 0 | 1 |
| removePredicatesImpliedByViewResidual(Map, Expression) |  | 100% |  | 100% | 0 | 3 | 0 | 6 | 0 | 1 |
| buildRangeExpressionInfo(Expression) |  | 100% |   | 62% | 3 | 5 | 0 | 5 | 0 | 1 |
| normalizeExpression(Expression, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| predicateImplies(Expression, Expression) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| mergePulledUpPredicates(Collection) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| collectNonInferredQueryBasedExpressions(Collection, SlotMapping) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| collectNonInferredExpressions(Collection) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| Predicates(Set, Set) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| splitPredicates(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$collectNonInferredQueryBasedExpressions$5(Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$collectNonInferredExpressions$2(Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$collectNonInferredQueryBasedExpressions$3(Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$collectNonInferredExpressions$1(Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| of(Set, Set) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$collectNonInferredQueryBasedExpressions$4(Map, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPulledUpPredicates() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCouldNotPulledUpPredicates() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildRangeExpressionInfo$0(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |