Average Error: 0.0 → 0.0
Time: 13.7s
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{2} \cdot \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \mathsf{fma}\left(v, -v, {\left(\sqrt[3]{1}\right)}^{3}\right)\right)}{4} + \left(v \cdot \left(\left(-v\right) + v\right)\right) \cdot \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\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{2} \cdot \left(\sqrt{1 - 3 \cdot \left(v \cdot v\right)} \cdot \mathsf{fma}\left(v, -v, {\left(\sqrt[3]{1}\right)}^{3}\right)\right)}{4} + \left(v \cdot \left(\left(-v\right) + v\right)\right) \cdot \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)
double f(double v) {
        double r150547 = 2.0;
        double r150548 = sqrt(r150547);
        double r150549 = 4.0;
        double r150550 = r150548 / r150549;
        double r150551 = 1.0;
        double r150552 = 3.0;
        double r150553 = v;
        double r150554 = r150553 * r150553;
        double r150555 = r150552 * r150554;
        double r150556 = r150551 - r150555;
        double r150557 = sqrt(r150556);
        double r150558 = r150550 * r150557;
        double r150559 = r150551 - r150554;
        double r150560 = r150558 * r150559;
        return r150560;
}

double f(double v) {
        double r150561 = 2.0;
        double r150562 = sqrt(r150561);
        double r150563 = 1.0;
        double r150564 = 3.0;
        double r150565 = v;
        double r150566 = r150565 * r150565;
        double r150567 = r150564 * r150566;
        double r150568 = r150563 - r150567;
        double r150569 = sqrt(r150568);
        double r150570 = -r150565;
        double r150571 = cbrt(r150563);
        double r150572 = 3.0;
        double r150573 = pow(r150571, r150572);
        double r150574 = fma(r150565, r150570, r150573);
        double r150575 = r150569 * r150574;
        double r150576 = r150562 * r150575;
        double r150577 = 4.0;
        double r150578 = r150576 / r150577;
        double r150579 = r150570 + r150565;
        double r150580 = r150565 * r150579;
        double r150581 = r150562 / r150577;
        double r150582 = r150581 * r150569;
        double r150583 = r150580 * r150582;
        double r150584 = r150578 + r150583;
        return r150584;
}

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 add-cube-cbrt0.0

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

    \[\leadsto \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \color{blue}{\left(\mathsf{fma}\left(\sqrt[3]{1} \cdot \sqrt[3]{1}, \sqrt[3]{1}, -v \cdot v\right) + \mathsf{fma}\left(-v, v, v \cdot v\right)\right)}\]
  5. Applied distribute-lft-in0.0

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

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

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

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

Reproduce

herbie shell --seed 2019322 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  :precision binary64
  (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))