@Override
  public @NotNull DfType fromRelation(@NotNull RelationType relationType) {
    if (relationType == RelationType.EQ) {
      DfType result = myNaN ? this : create(myFrom, myTo, myInvert, true);
      DfType zero = DfTypes.doubleRange(-0.0, 0.0);
      return meet(zero) != BOTTOM ? result.join(zero) : result;
    }
    if (myInvert) {
      double max = myTo == Double.POSITIVE_INFINITY ? nextDown(myFrom) : Double.POSITIVE_INFINITY;
      double min = myFrom == Double.NEGATIVE_INFINITY ? nextUp(myTo) : Double.NEGATIVE_INFINITY;
      return fromRelation(relationType, min, max);
    }
    return fromRelation(relationType, myFrom, myTo);
  }
@Override
  public @NotNull DfType fromRelation(@NotNull RelationType relationType)