fact: Definition piecewise_uniform_alloc {T} {_ : has_double_avg T} (size : T -> Q) (allocation : Q) (min : T) (max : T) (min_points : N) (max_points : N) (alloc : forall min max : T, N -> list T) : list T := List.flat_map (fun '((min, max), n) => alloc min max n) (piecewise_uniform_prealloc size allocation min max min_points max_points (Nat.log2_up max_subdivisions)).
imports: Coq.Strings.String Coq.Structures.Orders Coq.micromega.Lia Coq.Bool.Bool Coq.Sorting.Mergesort Coq.QArith.QArith Coq.QArith.Qround Coq.QArith.Qabs Coq.QArith.Qminmax Coq.NArith.NArith Coq.ZArith.ZArith Coq.Arith.Arith Coq.Lists.List PerformanceExperiments.LetIn