Average Error: 0.4 → 0.3
Time: 26.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(v \cdot v, -5, 1\right)}{\pi}}{t} \cdot \frac{1}{\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(6, v \cdot \left(-v\right), 2\right)}, v \cdot \left(-v\right), \sqrt{\mathsf{fma}\left(6, v \cdot \left(-v\right), 2\right)}\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(v \cdot v, -5, 1\right)}{\pi}}{t} \cdot \frac{1}{\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(6, v \cdot \left(-v\right), 2\right)}, v \cdot \left(-v\right), \sqrt{\mathsf{fma}\left(6, v \cdot \left(-v\right), 2\right)}\right)}
double f(double v, double t) {
        double r7784621 = 1.0;
        double r7784622 = 5.0;
        double r7784623 = v;
        double r7784624 = r7784623 * r7784623;
        double r7784625 = r7784622 * r7784624;
        double r7784626 = r7784621 - r7784625;
        double r7784627 = atan2(1.0, 0.0);
        double r7784628 = t;
        double r7784629 = r7784627 * r7784628;
        double r7784630 = 2.0;
        double r7784631 = 3.0;
        double r7784632 = r7784631 * r7784624;
        double r7784633 = r7784621 - r7784632;
        double r7784634 = r7784630 * r7784633;
        double r7784635 = sqrt(r7784634);
        double r7784636 = r7784629 * r7784635;
        double r7784637 = r7784621 - r7784624;
        double r7784638 = r7784636 * r7784637;
        double r7784639 = r7784626 / r7784638;
        return r7784639;
}

double f(double v, double t) {
        double r7784640 = v;
        double r7784641 = r7784640 * r7784640;
        double r7784642 = -5.0;
        double r7784643 = 1.0;
        double r7784644 = fma(r7784641, r7784642, r7784643);
        double r7784645 = atan2(1.0, 0.0);
        double r7784646 = r7784644 / r7784645;
        double r7784647 = t;
        double r7784648 = r7784646 / r7784647;
        double r7784649 = 6.0;
        double r7784650 = -r7784640;
        double r7784651 = r7784640 * r7784650;
        double r7784652 = 2.0;
        double r7784653 = fma(r7784649, r7784651, r7784652);
        double r7784654 = sqrt(r7784653);
        double r7784655 = fma(r7784654, r7784651, r7784654);
        double r7784656 = r7784643 / r7784655;
        double r7784657 = r7784648 * r7784656;
        return r7784657;
}

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(v \cdot v, -5, 1\right)}{\pi}}{t}}{\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(6, \left(-v\right) \cdot v, 2\right)}, \left(-v\right) \cdot v, \sqrt{\mathsf{fma}\left(6, \left(-v\right) \cdot v, 2\right)}\right)}}\]
  3. Using strategy rm
  4. Applied div-inv0.3

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

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

Reproduce

herbie shell --seed 2019168 +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)))))