| isLosslessCast(RelDataType, RelDataType) |  | 0% |  | 0% | 39 | 39 | 54 | 54 | 1 | 1 |
| sargRef(SqlParserPos, RexBuilder, RexNode, Sarg, RelDataType, RexUnknownAs) |  | 0% |  | 0% | 9 | 9 | 21 | 21 | 1 | 1 |
| canAssignFrom(RelDataType, RelDataType, RelDataTypeFactory) |  | 0% |  | 0% | 14 | 14 | 28 | 28 | 1 | 1 |
| simpleSarg(SqlParserPos, RexBuilder, RexNode, Sarg, RexUnknownAs) |  | 0% |  | 0% | 13 | 13 | 17 | 17 | 1 | 1 |
| requiresDecimalExpansion(RexNode, boolean) |  | 0% |  | 0% | 15 | 15 | 24 | 24 | 1 | 1 |
| gatherConstraint(Class, RexNode, RexNode, Map, Set, RexBuilder) |  | 0% |  | 0% | 11 | 11 | 25 | 25 | 1 | 1 |
| containIdentity(List, RelDataType, Litmus) |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| generateCastExpressions(RexBuilder, RelDataType, RelDataType) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| gatherConstraints(Class, RexNode, Map, Set, RexBuilder) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| apply(Mappings.TargetMapping, List) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| predicateConstants(Class, RexBuilder, List) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| generateCastExpressions(RexBuilder, RelDataType, List) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| containNoNonTrivialAggs(List, Litmus) |  | 0% |  | 0% | 7 | 7 | 10 | 10 | 1 | 1 |
| createStructType(RelDataTypeFactory, List, List, SqlValidatorUtil.Suggester) |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 1 | 1 |
| compatibleTypes(List, RelDataType, Litmus) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| op(SqlKind) |  | 0% |  | 0% | 19 | 19 | 20 | 20 | 1 | 1 |
| isNullLiteral(RexNode, boolean) |  | 0% |  | 0% | 7 | 7 | 11 | 11 | 1 | 1 |
| containNoForwardRefs(List, RelDataType, Litmus) |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
| lambda$andNot$4(RexCall, RexNode) |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 1 | 1 |
| addAnd(ImmutableList.Builder, Set, RexNode) |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 1 | 1 |
| addOr(ImmutableList.Builder, Set, RexNode) |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 1 | 1 |
| composeConjunction(RexBuilder, Iterable, boolean) |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 1 | 1 |
| flattenAnd(Iterable) |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| composeDisjunction(RexBuilder, Iterable, boolean) |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 1 | 1 |
| not(RexBuilder, RexNode) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| containNoCommonExprs(List, Litmus) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| containComplexExprs(List) |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 1 | 1 |
| summarizePosition(Iterable) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| flattenOr(Iterable) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| isReferenceOrAccess(RexNode, boolean) |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 1 | 1 |
| flattenRecurse(List, List, SqlOperator) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| andNot(RexBuilder, RexNode, Iterable) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| flatten(RexBuilder, RexNode) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| isCasePredicate(RexCall, int) |  | 0% |  | 0% | 5 | 5 | 3 | 3 | 1 | 1 |
| isLiteral(RexNode, boolean) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| overlap(RexNode, Set) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| decompose(Set, RexNode) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| applyFields(Mappings.TargetMapping, List) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| getNonConstColumns(ImmutableBitSet, List) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| apply(RexVisitor, RexNode[]) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| apply(RexVisitor, RexNode[], RexNode) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| removeAll(List, RexNode) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| isSymbolLiteral(RexNode) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| requiresDecimalExpansion(List, boolean) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| isNull(RexNode) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| isNullabilityCast(RelDataTypeFactory, RexNode) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| retainDeterministic(List) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| lambda$sargRef$1(List, RexBuilder, SqlParserPos, RexNode, RelDataType, Range) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| isFlat(RexNode) |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| invert(RexBuilder, RexCall) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| requiresDecimalExpansion(RexProgram, boolean) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| apply(RexVisitor, List, RexNode) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| negate(RexBuilder, RexCall) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| lambda$sargRef$2(RexBuilder, SqlParserPos, RexNode, RelDataType, Range) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| findOperatorCall(SqlOperator, RexNode) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| canReinterpretOverflow(RexCall) |  | 0% |  | 0% | 4 | 4 | 2 | 2 | 1 | 1 |
| shiftFieldAccess(RexBuilder, RelNode, CorrelationId, RelNode, int) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| allLiterals(List) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| containsTableInputRef(RexNode) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| nodeCount(int, List) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| containsTableInputRef(List) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| exists(List, Predicate1) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| all(List, Predicate1) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| containsFalse(Iterable) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| containsTrue(Iterable) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| deref(RexProgram, RexNode) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| isDeterministic(RexNode) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| containsInputRef(RexNode) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| containsFieldAccess(RexNode) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| isLosslessCast(RexNode) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| removeCast(RexNode) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| flatten(List, SqlOperator) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| not(RexNode) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| apply(Mappings.TargetMapping, RelCollation) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| removeNullabilityCast(RelDataTypeFactory, RexNode) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| isIdentity(List, RelDataType) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| apply(Mappings.TargetMapping, RelFieldCollation) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| eq(RexNode, RexNode) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| gatherTableReferences(List) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| lambda$canAssignFrom$0(RelDataType, SqlTypeName) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isCallTo(RexNode, SqlOperator) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isFlat(List, SqlOperator) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isAssociative(SqlOperator) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| shift(RexNode, int) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| simplifyOrs(RexBuilder, List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplify(RexBuilder, RexNode, boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplifyAnds(RexBuilder, Iterable, boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplifyAnd(RexBuilder, RexCall, boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isAtomic(RexNode) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| composeConjunction(RexBuilder, Iterable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| composeDisjunction(RexBuilder, Iterable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplifyAnds(RexBuilder, Iterable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplifyAnd2(RexBuilder, List, List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplifyAnd2ForUnknownAsFalse(RexBuilder, List, List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplifyOr(RexBuilder, RexCall) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| swapTableColumnReferences(RexBuilder, RexNode, Map, Map) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| swapColumnTableReferences(RexBuilder, RexNode, Map, Map) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getSelectivity(RexNode) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| toCnf(RexBuilder, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| toCnf(RexBuilder, int, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| shift(RexNode, int, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| pullFactors(RexBuilder, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| simplifyPreservingType(RexBuilder, RexNode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| simplify(RexBuilder, RexNode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addNot(RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| containsCorrelation(RexNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getNonConstColumns(List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| expandSearch(RexBuilder, RexProgram, RexNode, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| sargRef(RexBuilder, RexNode, Sarg, RelDataType, RexUnknownAs) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| toDnf(RexBuilder, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| fixUp(RexBuilder, List, RelDataType) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| fixUp(RexBuilder, List, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| searchShuttle(RexBuilder, RexProgram, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| simpleSarg(RexBuilder, RexNode, Sarg, RexUnknownAs) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| shift(Iterable, int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| expandSearch(RexBuilder, RexProgram, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isConstant(RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createStructType(RelDataTypeFactory, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createStructType(RelDataTypeFactory, List, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| makeKey(RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| apply(Mappings.TargetMapping, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| andNot(RexBuilder, RexNode, RexNode[]) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| swapTableReferences(RexBuilder, RexNode, Map) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| swapColumnReferences(RexBuilder, RexNode, Map) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| find(SqlKind) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| find(Set) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| find(RexInputRef) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| apply(Mappings.TargetMapping, Iterable) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| nodeCount(List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| types(List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| families(List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| strings(List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$notFn$6(RexBuilder, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$andNot$5(RexBuilder, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$isFlat$3(SqlOperator, RexNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| notFn(RexBuilder) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |