            sample = uniformly_randomly_generate_general_float<Float>(rg_);

        for (unsigned int digits = 1; digits <= max_digits; ++digits) {
            samples_[digits].resize(number_of_digits_samples_per_digits);
            for (auto& sample : samples_[digits])
                sample = randomly_generate_float_with_given_digits<Float>(digits, rg_);
        }
    }

    // { "name" : [(digits, [(sample, measured_time)])] }
    // Results for general samples is stored at the position digits=0
    using output_type =
        std::unordered_map<std::string,
                           std::array<std::vector<std::pair<Float, double>>, max_digits + 1>>;
    void run(std::size_t number_of_iterations, std::string_view float_name, output_type& out) {