Average Error: 0.5 → 0.6
Time: 8.4s
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)} - \mathsf{fma}\left(1.5, \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, \mathsf{fma}\left(1.125, \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left({\left(\sqrt{1}\right)}^{3} \cdot \pi\right)\right)}, \mathsf{fma}\left(4, \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)\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)} - \mathsf{fma}\left(1.5, \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left(\sqrt{1} \cdot \pi\right)\right)}, \mathsf{fma}\left(1.125, \frac{{v}^{4}}{t \cdot \left(\sqrt{2} \cdot \left({\left(\sqrt{1}\right)}^{3} \cdot \pi\right)\right)}, \mathsf{fma}\left(4, \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)\right)
double f(double v, double t) {
        double r270575 = 1.0;
        double r270576 = 5.0;
        double r270577 = v;
        double r270578 = r270577 * r270577;
        double r270579 = r270576 * r270578;
        double r270580 = r270575 - r270579;
        double r270581 = atan2(1.0, 0.0);
        double r270582 = t;
        double r270583 = r270581 * r270582;
        double r270584 = 2.0;
        double r270585 = 3.0;
        double r270586 = r270585 * r270578;
        double r270587 = r270575 - r270586;
        double r270588 = r270584 * r270587;
        double r270589 = sqrt(r270588);
        double r270590 = r270583 * r270589;
        double r270591 = r270575 - r270578;
        double r270592 = r270590 * r270591;
        double r270593 = r270580 / r270592;
        return r270593;
}

double f(double v, double t) {
        double r270594 = 1.5;
        double r270595 = v;
        double r270596 = 2.0;
        double r270597 = pow(r270595, r270596);
        double r270598 = t;
        double r270599 = 2.0;
        double r270600 = sqrt(r270599);
        double r270601 = 1.0;
        double r270602 = sqrt(r270601);
        double r270603 = atan2(1.0, 0.0);
        double r270604 = r270602 * r270603;
        double r270605 = r270600 * r270604;
        double r270606 = r270598 * r270605;
        double r270607 = r270597 / r270606;
        double r270608 = r270600 * r270603;
        double r270609 = r270598 * r270608;
        double r270610 = r270602 / r270609;
        double r270611 = r270601 * r270610;
        double r270612 = 4.0;
        double r270613 = pow(r270595, r270612);
        double r270614 = r270613 / r270606;
        double r270615 = 1.125;
        double r270616 = 3.0;
        double r270617 = pow(r270602, r270616);
        double r270618 = r270617 * r270603;
        double r270619 = r270600 * r270618;
        double r270620 = r270598 * r270619;
        double r270621 = r270613 / r270620;
        double r270622 = 4.0;
        double r270623 = r270597 * r270602;
        double r270624 = r270623 / r270609;
        double r270625 = r270613 * r270602;
        double r270626 = r270625 / r270609;
        double r270627 = r270622 * r270626;
        double r270628 = fma(r270622, r270624, r270627);
        double r270629 = fma(r270615, r270621, r270628);
        double r270630 = fma(r270594, r270614, r270629);
        double r270631 = r270611 - r270630;
        double r270632 = fma(r270594, r270607, r270631);
        return r270632;
}

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. Using strategy rm
  3. Applied sqrt-prod0.5

    \[\leadsto \frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \color{blue}{\left(\sqrt{2} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
  4. Applied associate-*r*0.5

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

Reproduce

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