Average Error: 0.5 → 0.1
Time: 36.1s
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(-5, \left(v \cdot v\right), 1\right)}{\pi}}{\sqrt{\mathsf{fma}\left(-6, \left(v \cdot v\right), 2\right)}}}{\left(1 - v \cdot v\right) \cdot t}\]
\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(-5, \left(v \cdot v\right), 1\right)}{\pi}}{\sqrt{\mathsf{fma}\left(-6, \left(v \cdot v\right), 2\right)}}}{\left(1 - v \cdot v\right) \cdot t}
double f(double v, double t) {
        double r6928246 = 1.0;
        double r6928247 = 5.0;
        double r6928248 = v;
        double r6928249 = r6928248 * r6928248;
        double r6928250 = r6928247 * r6928249;
        double r6928251 = r6928246 - r6928250;
        double r6928252 = atan2(1.0, 0.0);
        double r6928253 = t;
        double r6928254 = r6928252 * r6928253;
        double r6928255 = 2.0;
        double r6928256 = 3.0;
        double r6928257 = r6928256 * r6928249;
        double r6928258 = r6928246 - r6928257;
        double r6928259 = r6928255 * r6928258;
        double r6928260 = sqrt(r6928259);
        double r6928261 = r6928254 * r6928260;
        double r6928262 = r6928246 - r6928249;
        double r6928263 = r6928261 * r6928262;
        double r6928264 = r6928251 / r6928263;
        return r6928264;
}

double f(double v, double t) {
        double r6928265 = -5.0;
        double r6928266 = v;
        double r6928267 = r6928266 * r6928266;
        double r6928268 = 1.0;
        double r6928269 = fma(r6928265, r6928267, r6928268);
        double r6928270 = atan2(1.0, 0.0);
        double r6928271 = r6928269 / r6928270;
        double r6928272 = -6.0;
        double r6928273 = 2.0;
        double r6928274 = fma(r6928272, r6928267, r6928273);
        double r6928275 = sqrt(r6928274);
        double r6928276 = r6928271 / r6928275;
        double r6928277 = r6928268 - r6928267;
        double r6928278 = t;
        double r6928279 = r6928277 * r6928278;
        double r6928280 = r6928276 / r6928279;
        return r6928280;
}

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

    \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(-5, \left(v \cdot v\right), 1\right)}{\pi}}{\sqrt{\mathsf{fma}\left(-6, \left(v \cdot v\right), 2\right)} \cdot \left(t \cdot \left(1 - v \cdot v\right)\right)}}\]
  5. Using strategy rm
  6. Applied associate-/r*0.1

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

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

Reproduce

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