Average Error: 0.5 → 0.6
Time: 28.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)}\]
\[\mathsf{fma}\left(1.5, \frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)}\right) - \mathsf{fma}\left(1.5, \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, \mathsf{fma}\left(4, \frac{\sqrt{1}}{\sqrt{2} \cdot \pi} \cdot \left(\frac{v \cdot v}{t} + \frac{{v}^{4}}{t}\right), 1.125 \cdot \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left({\left(\sqrt{1}\right)}^{3} \cdot \pi\right)\right)}\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)}
\mathsf{fma}\left(1.5, \frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)}\right) - \mathsf{fma}\left(1.5, \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, \mathsf{fma}\left(4, \frac{\sqrt{1}}{\sqrt{2} \cdot \pi} \cdot \left(\frac{v \cdot v}{t} + \frac{{v}^{4}}{t}\right), 1.125 \cdot \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left({\left(\sqrt{1}\right)}^{3} \cdot \pi\right)\right)}\right)\right)
double f(double v, double t) {
        double r169397 = 1.0;
        double r169398 = 5.0;
        double r169399 = v;
        double r169400 = r169399 * r169399;
        double r169401 = r169398 * r169400;
        double r169402 = r169397 - r169401;
        double r169403 = atan2(1.0, 0.0);
        double r169404 = t;
        double r169405 = r169403 * r169404;
        double r169406 = 2.0;
        double r169407 = 3.0;
        double r169408 = r169407 * r169400;
        double r169409 = r169397 - r169408;
        double r169410 = r169406 * r169409;
        double r169411 = sqrt(r169410);
        double r169412 = r169405 * r169411;
        double r169413 = r169397 - r169400;
        double r169414 = r169412 * r169413;
        double r169415 = r169402 / r169414;
        return r169415;
}

double f(double v, double t) {
        double r169416 = 1.5;
        double r169417 = v;
        double r169418 = 2.0;
        double r169419 = pow(r169417, r169418);
        double r169420 = t;
        double r169421 = 2.0;
        double r169422 = sqrt(r169421);
        double r169423 = 1.0;
        double r169424 = sqrt(r169423);
        double r169425 = atan2(1.0, 0.0);
        double r169426 = r169424 * r169425;
        double r169427 = r169422 * r169426;
        double r169428 = r169420 * r169427;
        double r169429 = r169419 / r169428;
        double r169430 = r169422 * r169425;
        double r169431 = r169420 * r169430;
        double r169432 = r169424 / r169431;
        double r169433 = r169423 * r169432;
        double r169434 = fma(r169416, r169429, r169433);
        double r169435 = 4.0;
        double r169436 = pow(r169417, r169435);
        double r169437 = r169436 / r169428;
        double r169438 = 4.0;
        double r169439 = r169424 / r169430;
        double r169440 = r169417 * r169417;
        double r169441 = r169440 / r169420;
        double r169442 = r169436 / r169420;
        double r169443 = r169441 + r169442;
        double r169444 = r169439 * r169443;
        double r169445 = 1.125;
        double r169446 = 3.0;
        double r169447 = pow(r169424, r169446);
        double r169448 = r169447 * r169425;
        double r169449 = r169422 * r169448;
        double r169450 = r169420 * r169449;
        double r169451 = r169436 / r169450;
        double r169452 = r169445 * r169451;
        double r169453 = fma(r169438, r169444, r169452);
        double r169454 = fma(r169416, r169437, r169453);
        double r169455 = r169434 - r169454;
        return r169455;
}

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. Taylor expanded around 0 0.6

    \[\leadsto \color{blue}{\left(1.5 \cdot \frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)} + 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)}\right) - \left(1.5 \cdot \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)} + \left(1.125 \cdot \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left({\left(\sqrt{1}\right)}^{3} \cdot \pi\right)\right)} + \left(4 \cdot \frac{{v}^{2} \cdot \sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)} + 4 \cdot \frac{{v}^{4} \cdot \sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)}\right)\right)\right)}\]
  3. Simplified0.6

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

    \[\leadsto \mathsf{fma}\left(1.5, \frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)}\right) - \mathsf{fma}\left(1.5, \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, \mathsf{fma}\left(4, \frac{\sqrt{1}}{\sqrt{2} \cdot \pi} \cdot \left(\frac{v \cdot v}{t} + \frac{{v}^{4}}{t}\right), 1.125 \cdot \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left({\left(\sqrt{1}\right)}^{3} \cdot \pi\right)\right)}\right)\right)\]

Reproduce

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