```
row x = 1, y = 2, z = 3 | stats  a = count(*), b = count(*) | stats  c = count(*)
```

The logical optimizer does not seem to be able to handle this query:

```
{
    "error": {
        "root_cause": [
            {
                "type": "rule_execution_exception",
                "reason": "Rule execution limit [100] reached"
            }
        ],
        "type": "rule_execution_exception",
        "reason": "Rule execution limit [100] reached"
    },
    "status": 500
}
```

The problem seems to be limited to this corner case scenario where you have two aggs with the same expression in one STATS and another STATS after that.

The problem is not limited to `count(*)`, also the following fails with the same error

```
row x = 1, y = 2, z = 3 | stats  a = max(x), b = max(x) | stats  c = max(a)
```

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/LogicalPlanOptimizer.java
}
            return limit;
        }
        private static MvExpand descendantMvExpand(UnaryPlan unary) {
            UnaryPlan plan = unary;
            AttributeSet filterReferences = new AttributeSet();
            while (plan instanceof Aggregate == false) {
                if (plan instanceof MvExpand mve) {
                    
                    
                    if (filterReferences.isEmpty() == false) {
                        if (filterReferences.contains(mve.target()) 
                            || mve.target() instanceof ReferenceAttribute 
                            
                            || filterReferences.stream().anyMatch(ref -> ref instanceof ReferenceAttribute)) {
                            return null;
                        }
                    }
                    return mve;
                } else if (plan instanceof Filter filter) {
                    
                    filterReferences.addAll(filter.references());
                } else if (plan instanceof OrderBy) {
                    
                    
                    
                    return null;
                }
                if (plan.child() instanceof UnaryPlan unaryPlan) {
                    plan = unaryPlan;