Average Error: 0.5 → 0.6
Time: 20.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)}\]
\[\mathsf{fma}\left(\frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)} - \mathsf{fma}\left(\frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, \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)\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(\frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)} - \mathsf{fma}\left(\frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, \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)\right)
double f(double v, double t) {
        double r180501 = 1.0;
        double r180502 = 5.0;
        double r180503 = v;
        double r180504 = r180503 * r180503;
        double r180505 = r180502 * r180504;
        double r180506 = r180501 - r180505;
        double r180507 = atan2(1.0, 0.0);
        double r180508 = t;
        double r180509 = r180507 * r180508;
        double r180510 = 2.0;
        double r180511 = 3.0;
        double r180512 = r180511 * r180504;
        double r180513 = r180501 - r180512;
        double r180514 = r180510 * r180513;
        double r180515 = sqrt(r180514);
        double r180516 = r180509 * r180515;
        double r180517 = r180501 - r180504;
        double r180518 = r180516 * r180517;
        double r180519 = r180506 / r180518;
        return r180519;
}

double f(double v, double t) {
        double r180520 = v;
        double r180521 = 2.0;
        double r180522 = pow(r180520, r180521);
        double r180523 = t;
        double r180524 = 2.0;
        double r180525 = sqrt(r180524);
        double r180526 = 1.0;
        double r180527 = sqrt(r180526);
        double r180528 = atan2(1.0, 0.0);
        double r180529 = r180527 * r180528;
        double r180530 = r180525 * r180529;
        double r180531 = r180523 * r180530;
        double r180532 = r180522 / r180531;
        double r180533 = 1.5;
        double r180534 = r180525 * r180528;
        double r180535 = r180523 * r180534;
        double r180536 = r180527 / r180535;
        double r180537 = r180526 * r180536;
        double r180538 = 4.0;
        double r180539 = pow(r180520, r180538);
        double r180540 = r180539 / r180531;
        double r180541 = 4.0;
        double r180542 = r180527 / r180534;
        double r180543 = r180520 * r180520;
        double r180544 = r180543 / r180523;
        double r180545 = r180539 / r180523;
        double r180546 = r180544 + r180545;
        double r180547 = r180542 * r180546;
        double r180548 = 1.125;
        double r180549 = 3.0;
        double r180550 = pow(r180527, r180549);
        double r180551 = r180550 * r180528;
        double r180552 = r180525 * r180551;
        double r180553 = r180523 * r180552;
        double r180554 = r180539 / r180553;
        double r180555 = r180548 * r180554;
        double r180556 = fma(r180541, r180547, r180555);
        double r180557 = fma(r180540, r180533, r180556);
        double r180558 = r180537 - r180557;
        double r180559 = fma(r180532, r180533, r180558);
        return r180559;
}

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(\frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)} - \mathsf{fma}\left(\frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, \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)\right)}\]
  4. Final simplification0.6

    \[\leadsto \mathsf{fma}\left(\frac{{v}^{2}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, 1 \cdot \frac{\sqrt{1}}{t \cdot \left(\sqrt{2} \cdot \pi\right)} - \mathsf{fma}\left(\frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, 1.5, \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)\right)\]

Reproduce

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