fact: Definition size_of_kind (k : kind_of_rewrite) (arg : Z * Z) : Q := let termsize := size_of_arg arg in let x := inject_Z termsize in match k with | kind_rewrite_strat bottomup_bottomup => 0.0144 * Sample.Qexp (0.415 * x) | kind_rewrite_strat topdown_bottomup => 0.0176 * Sample.Qexp (0.407 * x) | kind_setoid_rewrite => -9.89E-03 + 0.0529*x + -0.016*x^2 + 2.61E-03*x^3 | kind_red vm => 5.19E-05 + 5.01E-06*x + 3.5E-10*x^2 | kind_red native => 0.0685 + 1.09E-05*x + 1.71E-10*x^2 | kind_red cbv => -6.28E-04 + 3.01E-06*x + 1.23E-10*x^2 | kind_red lazy => -2.68E-03 + 4.72E-06*x + 1.39E-10*x^2 | kind_red cbn => 0.0183 + 6.42E-04*x + 8.04E-06*x^2 | kind_red simpl => -0.0116 + 2.8E-04*x + 2.28E-06*x^2 end%Q.
imports: Coq.micromega.Lia Coq.ZArith.ZArith Coq.QArith.QArith Coq.Classes.Morphisms Coq.Setoids.Setoid Coq.Lists.List PerformanceExperiments.Harness PerformanceExperiments.LetIn PerformanceExperiments.ListRectInstances