Average Error: 0.0 → 0.0
Time: 17.6s
Precision: 64
\[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
\[\frac{\sqrt{1 \cdot 1 - \left(3 \cdot 3\right) \cdot {v}^{4}} \cdot \left(\left({1}^{3} - {v}^{6}\right) \cdot \sqrt{2}\right)}{\left(\sqrt{\mathsf{fma}\left(v \cdot 3, v, 1\right)} \cdot 4\right) \cdot \mathsf{fma}\left(1, 1, \left(v \cdot \mathsf{fma}\left(v, v, 1\right)\right) \cdot v\right)}\]
\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)
\frac{\sqrt{1 \cdot 1 - \left(3 \cdot 3\right) \cdot {v}^{4}} \cdot \left(\left({1}^{3} - {v}^{6}\right) \cdot \sqrt{2}\right)}{\left(\sqrt{\mathsf{fma}\left(v \cdot 3, v, 1\right)} \cdot 4\right) \cdot \mathsf{fma}\left(1, 1, \left(v \cdot \mathsf{fma}\left(v, v, 1\right)\right) \cdot v\right)}
double f(double v) {
        double r177597 = 2.0;
        double r177598 = sqrt(r177597);
        double r177599 = 4.0;
        double r177600 = r177598 / r177599;
        double r177601 = 1.0;
        double r177602 = 3.0;
        double r177603 = v;
        double r177604 = r177603 * r177603;
        double r177605 = r177602 * r177604;
        double r177606 = r177601 - r177605;
        double r177607 = sqrt(r177606);
        double r177608 = r177600 * r177607;
        double r177609 = r177601 - r177604;
        double r177610 = r177608 * r177609;
        return r177610;
}

double f(double v) {
        double r177611 = 1.0;
        double r177612 = r177611 * r177611;
        double r177613 = 3.0;
        double r177614 = r177613 * r177613;
        double r177615 = v;
        double r177616 = 4.0;
        double r177617 = pow(r177615, r177616);
        double r177618 = r177614 * r177617;
        double r177619 = r177612 - r177618;
        double r177620 = sqrt(r177619);
        double r177621 = 3.0;
        double r177622 = pow(r177611, r177621);
        double r177623 = 6.0;
        double r177624 = pow(r177615, r177623);
        double r177625 = r177622 - r177624;
        double r177626 = 2.0;
        double r177627 = sqrt(r177626);
        double r177628 = r177625 * r177627;
        double r177629 = r177620 * r177628;
        double r177630 = r177615 * r177613;
        double r177631 = fma(r177630, r177615, r177611);
        double r177632 = sqrt(r177631);
        double r177633 = 4.0;
        double r177634 = r177632 * r177633;
        double r177635 = fma(r177615, r177615, r177611);
        double r177636 = r177615 * r177635;
        double r177637 = r177636 * r177615;
        double r177638 = fma(r177611, r177611, r177637);
        double r177639 = r177634 * r177638;
        double r177640 = r177629 / r177639;
        return r177640;
}

Error

Bits error versus v

Derivation

  1. Initial program 0.0

    \[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
  2. Using strategy rm
  3. Applied flip3--0.0

    \[\leadsto \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \color{blue}{\frac{{1}^{3} - {\left(v \cdot v\right)}^{3}}{1 \cdot 1 + \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right) + 1 \cdot \left(v \cdot v\right)\right)}}\]
  4. Applied flip--0.0

    \[\leadsto \left(\frac{\sqrt{2}}{4} \cdot \sqrt{\color{blue}{\frac{1 \cdot 1 - \left(3 \cdot \left(v \cdot v\right)\right) \cdot \left(3 \cdot \left(v \cdot v\right)\right)}{1 + 3 \cdot \left(v \cdot v\right)}}}\right) \cdot \frac{{1}^{3} - {\left(v \cdot v\right)}^{3}}{1 \cdot 1 + \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right) + 1 \cdot \left(v \cdot v\right)\right)}\]
  5. Applied sqrt-div0.0

    \[\leadsto \left(\frac{\sqrt{2}}{4} \cdot \color{blue}{\frac{\sqrt{1 \cdot 1 - \left(3 \cdot \left(v \cdot v\right)\right) \cdot \left(3 \cdot \left(v \cdot v\right)\right)}}{\sqrt{1 + 3 \cdot \left(v \cdot v\right)}}}\right) \cdot \frac{{1}^{3} - {\left(v \cdot v\right)}^{3}}{1 \cdot 1 + \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right) + 1 \cdot \left(v \cdot v\right)\right)}\]
  6. Applied frac-times0.0

    \[\leadsto \color{blue}{\frac{\sqrt{2} \cdot \sqrt{1 \cdot 1 - \left(3 \cdot \left(v \cdot v\right)\right) \cdot \left(3 \cdot \left(v \cdot v\right)\right)}}{4 \cdot \sqrt{1 + 3 \cdot \left(v \cdot v\right)}}} \cdot \frac{{1}^{3} - {\left(v \cdot v\right)}^{3}}{1 \cdot 1 + \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right) + 1 \cdot \left(v \cdot v\right)\right)}\]
  7. Applied frac-times0.0

    \[\leadsto \color{blue}{\frac{\left(\sqrt{2} \cdot \sqrt{1 \cdot 1 - \left(3 \cdot \left(v \cdot v\right)\right) \cdot \left(3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left({1}^{3} - {\left(v \cdot v\right)}^{3}\right)}{\left(4 \cdot \sqrt{1 + 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 \cdot 1 + \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right) + 1 \cdot \left(v \cdot v\right)\right)\right)}}\]
  8. Simplified0.0

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

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

    \[\leadsto \frac{\sqrt{1 \cdot 1 - \left(3 \cdot 3\right) \cdot {v}^{4}} \cdot \left(\left({1}^{3} - {v}^{6}\right) \cdot \sqrt{2}\right)}{\left(\sqrt{\mathsf{fma}\left(v \cdot 3, v, 1\right)} \cdot 4\right) \cdot \mathsf{fma}\left(1, 1, \left(v \cdot \mathsf{fma}\left(v, v, 1\right)\right) \cdot v\right)}\]

Reproduce

herbie shell --seed 2019196 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  (* (* (/ (sqrt 2.0) 4.0) (sqrt (- 1.0 (* 3.0 (* v v))))) (- 1.0 (* v v))))