| compensateEquivalence(StructInfo, StructInfo, SlotMapping, ComparisonResult) |   | 64% |   | 66% | 6 | 13 | 13 | 42 | 0 | 1 |
| detectAndSynthesizeWholeBucketPredicates(Set, StructInfo, SlotMapping) |   | 95% |   | 75% | 17 | 35 | 8 | 84 | 0 | 1 |
| extractDateTruncUnit(DateTrunc) |   | 62% |   | 25% | 2 | 3 | 3 | 7 | 0 | 1 |
| extractViewDateTruncExpressions(StructInfo) |   | 85% |   | 80% | 2 | 6 | 1 | 13 | 0 | 1 |
| rebuildDateTruncOnQuerySlot(DateTrunc, SlotReference) |   | 75% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| compensateRangePredicate(StructInfo, StructInfo, SlotMapping, ComparisonResult, CascadesContext) |   | 97% |   | 86% | 3 | 12 | 2 | 36 | 0 | 1 |
| compensateResidualPredicate(StructInfo, StructInfo, SlotMapping, ComparisonResult) |  | 100% |  | 100% | 0 | 5 | 0 | 20 | 0 | 1 |
| compensateCouldNotPullUpPredicates(StructInfo, StructInfo, SlotMapping, ComparisonResult) |  | 100% |   | 85% | 2 | 8 | 0 | 20 | 0 | 1 |
| normalizeExpression(Expression, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| toString() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| mergePulledUpPredicates(Collection) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 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 |
| of(Set, Set) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$detectAndSynthesizeWholeBucketPredicates$1(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$detectAndSynthesizeWholeBucketPredicates$2(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$compensateRangePredicate$0(TreeNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |