private double calculateInfluenceCostRatio() { Formula boolDiff = new Not( greqlEvaluator, new Equiv(greqlEvaluator, trueFormula, new Not(greqlEvaluator, falseFormula))); boolDiff = boolDiff.simplify(); // selectivity of the boolean difference double selectivity = boolDiff.getSelectivity(); // costs of the condition expression VertexEvaluator veval = greqlEvaluator.getVertexEvaluatorGraphMarker().getMark(condition); GraphSize graphSize = null; if (greqlEvaluator.getDatagraph() != null) { graphSize = new GraphSize(greqlEvaluator.getDatagraph()); } else { graphSize = OptimizerUtility.getDefaultGraphSize(); } long costs = veval.getInitialSubtreeEvaluationCosts(graphSize); return selectivity / costs; }