private static int standardErrorToBuckets(double maxStandardError) {
    if (maxStandardError < LOWEST_MAX_STANDARD_ERROR
        || maxStandardError > HIGHEST_MAX_STANDARD_ERROR) {
      throw new IoTDBRuntimeException(
          String.format(
              "Max Standard Error must be in [%s, %s]: %s",
              LOWEST_MAX_STANDARD_ERROR, HIGHEST_MAX_STANDARD_ERROR, maxStandardError),
          NUMERIC_VALUE_OUT_OF_RANGE.getStatusCode(),
          true);
    }
    return log2Ceiling((int) Math.ceil(1.04 / (maxStandardError * maxStandardError)));
  }
Constructs a HyperLogLog with the given precision.

<p>The precision parameter (4 <= precision <= 16)
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/approximate/HyperLogLog.java