public double oScore(Edge edge) {
    double oS = oScore[edge.start][edge.end][edge.state];
    if (Test.pcfgThreshold) {
      double iS = iScore[edge.start][edge.end][edge.state];
      if (iS + oS - bestScore < Test.pcfgThresholdValue) {
        return Double.NEGATIVE_INFINITY;
      }
    }
    return oS;
  }