Fixed in http://git-wip-us.apache.org/repos/asf/calcite/commit/ddd70fa .
Julian Hyde, in Hive it was exposed by a query that used the rand() function to filter:
rand() > 30 AND rand() <= 30
Since the top operator of each conjunct is > and <=, respectively, it was considering those conjuncts deterministic and it was folding the full predicate incorrectly to false.
I think a similar SQL test could be added to Calcite, but I took a quick look and I did not find a function similar to rand() or other non deterministic; that is why I directly added the unit tests.