### 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/ql/src/main/java/org/elasticsearch/xpack/ql/optimizer/OptimizerRules.java
);
                                }
                                
                                return true;
                            }
                        }
                    }
                    return false;
                }
            }
            return false;
        }
        /**
         * Find commonalities between the given comparison in the given list.
         * The method can be applied both for conjunctive (AND) or disjunctive purposes (OR).
         */
        private static boolean findExistingComparison(BinaryComparison main, List<BinaryComparison> bcs, boolean conjunctive) {
            Object value = main.right().fold();
            
            for (int i = 0; i < bcs.size(); i++) {
                BinaryComparison other = bcs.get(i);
                
                if (other.right().foldable() == false) {
                    continue;
                }
                
                if ((other instanceof GreaterThan || other instanceof GreaterThanOrEqual)
                    && (main instanceof GreaterThan || main instanceof GreaterThanOrEqual)) {
                    if (main.left().semanticEquals(other.left())) {
                        Integer compare = BinaryComparison.compare(value, other.right().fold());