Average Error: 0.5 → 0.5
Time: 8.8s
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 r180998 = 1.0;
        double r180999 = 5.0;
        double r181000 = v;
        double r181001 = r181000 * r181000;
        double r181002 = r180999 * r181001;
        double r181003 = r180998 - r181002;
        double r181004 = atan2(1.0, 0.0);
        double r181005 = t;
        double r181006 = r181004 * r181005;
        double r181007 = 2.0;
        double r181008 = 3.0;
        double r181009 = r181008 * r181001;
        double r181010 = r180998 - r181009;
        double r181011 = r181007 * r181010;
        double r181012 = sqrt(r181011);
        double r181013 = r181006 * r181012;
        double r181014 = r180998 - r181001;
        double r181015 = r181013 * r181014;
        double r181016 = r181003 / r181015;
        return r181016;
}

double f(double v, double t) {
        double r181017 = 1.0;
        double r181018 = 5.0;
        double r181019 = v;
        double r181020 = r181019 * r181019;
        double r181021 = r181018 * r181020;
        double r181022 = r181017 - r181021;
        double r181023 = atan2(1.0, 0.0);
        double r181024 = t;
        double r181025 = 2.0;
        double r181026 = 3.0;
        double r181027 = r181026 * r181020;
        double r181028 = r181017 - r181027;
        double r181029 = r181025 * r181028;
        double r181030 = sqrt(r181029);
        double r181031 = r181024 * r181030;
        double r181032 = r181023 * r181031;
        double r181033 = r181017 - r181020;
        double r181034 = r181032 * r181033;
        double r181035 = r181022 / r181034;
        return r181035;
}

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.5

    \[\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 2020057 +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)))))