| visitLogicalAggregate(LogicalAggregate, CascadesContext) |  | 0% |  | 0% | 12 | 12 | 37 | 37 | 1 | 1 |
| visitLogicalJoin(LogicalJoin, CascadesContext) |  | 0% |  | 0% | 9 | 9 | 31 | 31 | 1 | 1 |
| expandEqualSetAndConstants(List, boolean, ImmutableEqualSet, Map) |   | 51% |   | 30% | 11 | 14 | 17 | 34 | 0 | 1 |
| replaceOrConstants(Or, boolean, ExpressionRewriteContext, ImmutableEqualSet, Map) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| canReplaceExpression(Expression) |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 1 | 1 |
| getChildEqualSetAndConstants(LogicalPlan, ExpressionRewriteContext) |   | 35% |   | 25% | 2 | 3 | 8 | 11 | 0 | 1 |
| replaceAndConstants(And, boolean, ExpressionRewriteContext, ImmutableEqualSet, Map) |   | 78% |   | 65% | 6 | 11 | 6 | 32 | 0 | 1 |
| visitLogicalHaving(LogicalHaving, CascadesContext) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| replaceNameExpressionConstants(NamedExpression, ExpressionRewriteContext, ImmutableEqualSet, Map) |   | 13% |   | 16% | 3 | 4 | 6 | 8 | 0 | 1 |
| replaceConstants(Expression, boolean, ExpressionRewriteContext, ImmutableEqualSet, Map) |   | 49% |   | 60% | 3 | 6 | 5 | 11 | 0 | 1 |
| replaceConstantsAndRewriteExpr(LogicalPlan, Expression, CascadesContext) |   | 64% |   | 21% | 7 | 8 | 5 | 17 | 0 | 1 |
| addConstant(Map, Slot, Literal) |   | 41% |   | 10% | 5 | 6 | 2 | 6 | 0 | 1 |
| isExprEqualIgnoreOrder(Expression, Expression) |   | 42% |   | 25% | 2 | 3 | 4 | 7 | 0 | 1 |
| findValidEqualItem(Expression) |   | 68% |   | 50% | 4 | 6 | 4 | 11 | 0 | 1 |
| visitLogicalFilter(LogicalFilter, CascadesContext) |   | 66% |   | 50% | 1 | 2 | 2 | 7 | 0 | 1 |
| getConstantUniforms(Map, ExpressionRewriteContext) |   | 81% |   | 50% | 5 | 7 | 4 | 12 | 0 | 1 |
| visitLogicalSort(LogicalSort, CascadesContext) |   | 89% |   | 62% | 3 | 5 | 2 | 17 | 0 | 1 |
| visitLogicalProject(LogicalProject, CascadesContext) |   | 95% |   | 75% | 1 | 3 | 0 | 11 | 0 | 1 |
| rewriteRoot(Plan, JobContext) |   | 88% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| lambda$replaceConstants$0(Map, TreeNode) |   | 81% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| needReplaceWithConstant(Expression, Map, Map) |  | 100% |   | 60% | 4 | 6 | 0 | 8 | 0 | 1 |
| visitLogicalSink(LogicalSink, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| ConstantPropagation() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |