Average Error: 0.4 → 0.3
Time: 25.7s
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{\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right) \cdot \frac{1}{\pi \cdot \left(1 - v \cdot v\right)}}{t}}{\sqrt{\mathsf{fma}\left(\left(v \cdot -6\right), v, 2\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{\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right) \cdot \frac{1}{\pi \cdot \left(1 - v \cdot v\right)}}{t}}{\sqrt{\mathsf{fma}\left(\left(v \cdot -6\right), v, 2\right)}}
double f(double v, double t) {
        double r3439714 = 1.0;
        double r3439715 = 5.0;
        double r3439716 = v;
        double r3439717 = r3439716 * r3439716;
        double r3439718 = r3439715 * r3439717;
        double r3439719 = r3439714 - r3439718;
        double r3439720 = atan2(1.0, 0.0);
        double r3439721 = t;
        double r3439722 = r3439720 * r3439721;
        double r3439723 = 2.0;
        double r3439724 = 3.0;
        double r3439725 = r3439724 * r3439717;
        double r3439726 = r3439714 - r3439725;
        double r3439727 = r3439723 * r3439726;
        double r3439728 = sqrt(r3439727);
        double r3439729 = r3439722 * r3439728;
        double r3439730 = r3439714 - r3439717;
        double r3439731 = r3439729 * r3439730;
        double r3439732 = r3439719 / r3439731;
        return r3439732;
}

double f(double v, double t) {
        double r3439733 = -5.0;
        double r3439734 = v;
        double r3439735 = r3439734 * r3439734;
        double r3439736 = 1.0;
        double r3439737 = fma(r3439733, r3439735, r3439736);
        double r3439738 = atan2(1.0, 0.0);
        double r3439739 = r3439736 - r3439735;
        double r3439740 = r3439738 * r3439739;
        double r3439741 = r3439736 / r3439740;
        double r3439742 = r3439737 * r3439741;
        double r3439743 = t;
        double r3439744 = r3439742 / r3439743;
        double r3439745 = -6.0;
        double r3439746 = r3439734 * r3439745;
        double r3439747 = 2.0;
        double r3439748 = fma(r3439746, r3439734, r3439747);
        double r3439749 = sqrt(r3439748);
        double r3439750 = r3439744 / r3439749;
        return r3439750;
}

Error

Bits error versus v

Bits error versus t

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. Simplified0.3

    \[\leadsto \color{blue}{\frac{\frac{\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{\pi \cdot \left(1 - v \cdot v\right)}}{t}}{\sqrt{\mathsf{fma}\left(\left(-6 \cdot v\right), v, 2\right)}}}\]
  3. Using strategy rm
  4. Applied div-inv0.3

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

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

Reproduce

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