### 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
if (main.upper().foldable() && other.upper().foldable()) {
                        compared = true;
                        Integer comp = BinaryComparison.compare(main.upper().fold(), other.upper().fold());
                        
                        if (comp != null) {
                            
                            upperEq = comp == 0 && main.includeUpper() == other.includeUpper();
                            
                            if (conjunctive) {
                                
                                upper = comp < 0 ||
                                
                                    (comp == 0 && main.includeUpper() == false && other.includeUpper());
                            }
                            
                            else {
                                
                                upper = comp > 0 ||
                                
                                    (comp == 0 && main.includeUpper() && other.includeUpper() == false) || upperEq;
                            }
                        }
                    }
                    
                    if (conjunctive) {
                        
                        if (lower || upper) {
                            ranges.set(
                                i,
                                new Range(