 template <
     template <typename> class Test
   , typename                  ElementMetaType
-  , std::size_t               Elements
-  , std::size_t               BaselineTrials
-  , std::size_t               RegularTrials
+  , uint64_t                  Elements
+  , uint64_t                  BaselineTrials
+  , uint64_t                  RegularTrials
 >
-std::size_t const
+uint64_t const
 experiment_driver<
   Test, ElementMetaType, Elements, BaselineTrials, RegularTrials
 >::elements

template <
    template <typename> class Test
  , typename                  ElementMetaType
  , std::size_t               Elements
  , std::size_t               BaselineTrials
  , std::size_t               RegularTrials
>
std::size_t const
experiment_driver<
  Test, ElementMetaType, Elements, BaselineTrials, RegularTrials
>::element_size

    // Warmup trial.
    trial();

    uint64_t const trials
      = trial.is_baseline() ? baseline_trials : regular_trials;

    std::vector<double> times;
    times.reserve(trials);

    for (uint64_t t = 0; t < trials; ++t)
    {
      // Generate random input for next trial. 
      trial.setup(elements);
