Average Error: 0.5 → 0.3
Time: 47.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{\frac{\frac{\mathsf{fma}\left(v \cdot v, -5, 1\right)}{\pi}}{t}}{\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{\frac{\mathsf{fma}\left(v \cdot v, -5, 1\right)}{\pi}}{t}}{\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 r8014216 = 1.0;
        double r8014217 = 5.0;
        double r8014218 = v;
        double r8014219 = r8014218 * r8014218;
        double r8014220 = r8014217 * r8014219;
        double r8014221 = r8014216 - r8014220;
        double r8014222 = atan2(1.0, 0.0);
        double r8014223 = t;
        double r8014224 = r8014222 * r8014223;
        double r8014225 = 2.0;
        double r8014226 = 3.0;
        double r8014227 = r8014226 * r8014219;
        double r8014228 = r8014216 - r8014227;
        double r8014229 = r8014225 * r8014228;
        double r8014230 = sqrt(r8014229);
        double r8014231 = r8014224 * r8014230;
        double r8014232 = r8014216 - r8014219;
        double r8014233 = r8014231 * r8014232;
        double r8014234 = r8014221 / r8014233;
        return r8014234;
}

double f(double v, double t) {
        double r8014235 = v;
        double r8014236 = r8014235 * r8014235;
        double r8014237 = -5.0;
        double r8014238 = 1.0;
        double r8014239 = fma(r8014236, r8014237, r8014238);
        double r8014240 = atan2(1.0, 0.0);
        double r8014241 = r8014239 / r8014240;
        double r8014242 = t;
        double r8014243 = r8014241 / r8014242;
        double r8014244 = 6.0;
        double r8014245 = -r8014235;
        double r8014246 = r8014235 * r8014245;
        double r8014247 = 2.0;
        double r8014248 = fma(r8014244, r8014246, r8014247);
        double r8014249 = sqrt(r8014248);
        double r8014250 = fma(r8014249, r8014246, r8014249);
        double r8014251 = r8014243 / r8014250;
        return r8014251;
}

Error

Bits error versus v

Bits error versus t

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. 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. Final simplification0.3

    \[\leadsto \frac{\frac{\frac{\mathsf{fma}\left(v \cdot v, -5, 1\right)}{\pi}}{t}}{\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 2019162 +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)))))