### 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
(compare < 0 ||
                                
                                        (compare == 0 && main instanceof LessThan && other instanceof LessThanOrEqual))) ||
                                
                                    (conjunctive == false &&
                                
                                        (compare > 0 ||
                                
                                            (compare == 0 && main instanceof LessThanOrEqual && other instanceof LessThan)))) {
                                    bcs.remove(i);
                                    bcs.add(i, main);
                                }
                                
                                return true;
                            }
                            return false;
                        }
                    }
            }
            return false;
        }
        private static boolean notEqualsIsRemovableFromConjunction(NotEquals notEquals, List<Range> ranges, List<BinaryComparison> bcs) {
            Object neqVal = notEquals.right().fold();
            Integer comp;
            
            
            
            
            for (int i = 0; i < ranges.size(); i++) {