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;
  }