Average Error: 0.4 → 0.5
Time: 10.1s
Precision: 64
\[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
\[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\pi \cdot \left(t \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right)\right) \cdot \left(1 - v \cdot v\right)}\]
\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}
\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\pi \cdot \left(t \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right)\right) \cdot \left(1 - v \cdot v\right)}
double f(double v, double t) {
        double r287978 = 1.0;
        double r287979 = 5.0;
        double r287980 = v;
        double r287981 = r287980 * r287980;
        double r287982 = r287979 * r287981;
        double r287983 = r287978 - r287982;
        double r287984 = atan2(1.0, 0.0);
        double r287985 = t;
        double r287986 = r287984 * r287985;
        double r287987 = 2.0;
        double r287988 = 3.0;
        double r287989 = r287988 * r287981;
        double r287990 = r287978 - r287989;
        double r287991 = r287987 * r287990;
        double r287992 = sqrt(r287991);
        double r287993 = r287986 * r287992;
        double r287994 = r287978 - r287981;
        double r287995 = r287993 * r287994;
        double r287996 = r287983 / r287995;
        return r287996;
}

double f(double v, double t) {
        double r287997 = 1.0;
        double r287998 = 5.0;
        double r287999 = v;
        double r288000 = r287999 * r287999;
        double r288001 = r287998 * r288000;
        double r288002 = r287997 - r288001;
        double r288003 = atan2(1.0, 0.0);
        double r288004 = t;
        double r288005 = 2.0;
        double r288006 = 3.0;
        double r288007 = r288006 * r288000;
        double r288008 = r287997 - r288007;
        double r288009 = r288005 * r288008;
        double r288010 = sqrt(r288009);
        double r288011 = r288004 * r288010;
        double r288012 = r288003 * r288011;
        double r288013 = r287997 - r288000;
        double r288014 = r288012 * r288013;
        double r288015 = r288002 / r288014;
        return r288015;
}

Error

Bits error versus v

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.4

    \[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
  2. Using strategy rm
  3. Applied associate-*l*0.5

    \[\leadsto \frac{1 - 5 \cdot \left(v \cdot v\right)}{\color{blue}{\left(\pi \cdot \left(t \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right)\right)} \cdot \left(1 - v \cdot v\right)}\]
  4. Final simplification0.5

    \[\leadsto \frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\pi \cdot \left(t \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right)\right) \cdot \left(1 - v \cdot v\right)}\]

Reproduce

herbie shell --seed 2020021 +o rules:numerics
(FPCore (v t)
  :name "Falkner and Boettcher, Equation (20:1,3)"
  :precision binary64
  (/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v)))))