| mergeAggProjectAgg(LogicalAggregate) |  | 0% |  | 0% | 3 | 3 | 33 | 33 | 1 | 1 |
| commonCheck(LogicalAggregate, LogicalAggregate, boolean, Optional) |   | 21% |   | 3% | 16 | 17 | 24 | 30 | 0 | 1 |
| canMergeAggregateWithProject(LogicalAggregate) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| getInnerAggExprIdToAggFuncMap(LogicalAggregate) |   | 53% |   | 50% | 2 | 4 | 4 | 9 | 0 | 1 |
| lambda$rewriteAggregateFunction$7(Map, Expression) |   | 25% |   | 50% | 1 | 2 | 3 | 5 | 0 | 1 |
| lambda$canMergeAggregateWithProject$9(TreeNode) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| lambda$commonCheck$8(Optional, Set, LogicalProject) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$mergeAggProjectAgg$1(NamedExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$mergeAggProjectAgg$2(Map, NamedExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| canMergeAggregateWithoutProject(LogicalAggregate) |   | 90% |   | 50% | 2 | 3 | 1 | 5 | 0 | 1 |
| lambda$mergeAggProjectAgg$6(NamedExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$mergeAggProjectAgg$5(Expression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$mergeAggProjectAgg$3(Expression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$mergeAggProjectAgg$4(NamedExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| buildRules() |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| mergeTwoAggregate(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| rewriteAggregateFunction(NamedExpression, Map) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$mergeTwoAggregate$0(Map, NamedExpression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| MergeAggregate() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |