Average Error: 0.5 → 0.5
Time: 11.0s
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 r306565 = 1.0;
        double r306566 = 5.0;
        double r306567 = v;
        double r306568 = r306567 * r306567;
        double r306569 = r306566 * r306568;
        double r306570 = r306565 - r306569;
        double r306571 = atan2(1.0, 0.0);
        double r306572 = t;
        double r306573 = r306571 * r306572;
        double r306574 = 2.0;
        double r306575 = 3.0;
        double r306576 = r306575 * r306568;
        double r306577 = r306565 - r306576;
        double r306578 = r306574 * r306577;
        double r306579 = sqrt(r306578);
        double r306580 = r306573 * r306579;
        double r306581 = r306565 - r306568;
        double r306582 = r306580 * r306581;
        double r306583 = r306570 / r306582;
        return r306583;
}

double f(double v, double t) {
        double r306584 = 1.0;
        double r306585 = 5.0;
        double r306586 = v;
        double r306587 = r306586 * r306586;
        double r306588 = r306585 * r306587;
        double r306589 = r306584 - r306588;
        double r306590 = atan2(1.0, 0.0);
        double r306591 = t;
        double r306592 = 2.0;
        double r306593 = 3.0;
        double r306594 = r306593 * r306587;
        double r306595 = r306584 - r306594;
        double r306596 = r306592 * r306595;
        double r306597 = sqrt(r306596);
        double r306598 = r306591 * r306597;
        double r306599 = r306590 * r306598;
        double r306600 = r306584 - r306587;
        double r306601 = r306599 * r306600;
        double r306602 = r306589 / r306601;
        return r306602;
}

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 2020039 +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)))))