### Description

The IS NULL/IS NOT NULL only care about the nullability not the value of an expression.
Given the expression x + 1 / 2, the actual result does not matter only if it's null or not - that is, it only matters if x is null or not.
So x + 1 / 2 IS NULL becomes x IS NULL - which can be opportunistically pushed down or evaluated.
x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/optimizer/LocalLogicalPlanOptimizer.java
@Override
        public LogicalPlan apply(LogicalPlan plan, LocalLogicalOptimizerContext localLogicalOptimizerContext) {
            return plan.transformUp(p -> missingToNull(p, localLogicalOptimizerContext.searchStats()));
        }
        private LogicalPlan missingToNull(LogicalPlan plan, SearchStats stats) {
            if (plan instanceof EsRelation) {
                return plan;
            }
            if (plan instanceof Aggregate a) {
                
                return a;
            }
            
            else if (plan instanceof Project project) {
                var projections = project.projections();
                List<NamedExpression> newProjections = new ArrayList<>(projections.size());
                List<Alias> literals = new ArrayList<>();
                for (NamedExpression projection : projections) {
                    if (projection instanceof FieldAttribute f && stats.exists(f.qualifiedName()) == false) {