Average Error: 0.5 → 0.5
Time: 10.4s
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 r337613 = 1.0;
        double r337614 = 5.0;
        double r337615 = v;
        double r337616 = r337615 * r337615;
        double r337617 = r337614 * r337616;
        double r337618 = r337613 - r337617;
        double r337619 = atan2(1.0, 0.0);
        double r337620 = t;
        double r337621 = r337619 * r337620;
        double r337622 = 2.0;
        double r337623 = 3.0;
        double r337624 = r337623 * r337616;
        double r337625 = r337613 - r337624;
        double r337626 = r337622 * r337625;
        double r337627 = sqrt(r337626);
        double r337628 = r337621 * r337627;
        double r337629 = r337613 - r337616;
        double r337630 = r337628 * r337629;
        double r337631 = r337618 / r337630;
        return r337631;
}

double f(double v, double t) {
        double r337632 = 1.0;
        double r337633 = 5.0;
        double r337634 = v;
        double r337635 = r337634 * r337634;
        double r337636 = r337633 * r337635;
        double r337637 = r337632 - r337636;
        double r337638 = atan2(1.0, 0.0);
        double r337639 = t;
        double r337640 = 2.0;
        double r337641 = 3.0;
        double r337642 = r337641 * r337635;
        double r337643 = r337632 - r337642;
        double r337644 = r337640 * r337643;
        double r337645 = sqrt(r337644);
        double r337646 = r337639 * r337645;
        double r337647 = r337638 * r337646;
        double r337648 = r337632 - r337635;
        double r337649 = r337647 * r337648;
        double r337650 = r337637 / r337649;
        return r337650;
}

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