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 let '(n, m) := (fst arg, inject_Z (snd arg)) in match k with | kind_rewrite_strat bottomup => -0.964971 + 0.00567641*x + 0.000133294*x^2 | kind_rewrite_strat topdown => -0.151224 + 0.000230063*x + 4.83713E-6*x^2 + 4.31671E-10*x^3 | kind_setoid_rewrite => -0.169646 + 0.00123046*x + 8.46486E-6*x^2 | kind_rewrite => -0.0698785 + 0.000620073*x + 3.63E-6*x^2 + 9.61722E-10*x^3 | kind_autorewrite => -0.0585252 + 0.00014934*x + 4.96778E-6*x^2 + 2.96753E-10*x^3 | kind_ssr_rewrite => -0.0684302 + 0.000469109*x + 7.5704E-6*x^2 + 5.51547E-10*x^3 end%Q.
imports: Coq.micromega.Lia Coq.ZArith.ZArith Coq.QArith.QArith Coq.Classes.Morphisms Coq.Setoids.Setoid Coq.Lists.List PerformanceExperiments.Harness