Average Error: 0.0 → 0.0
Time: 1.2m
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}}{\frac{\frac{4}{1 - v \cdot v}}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}} \cdot \left|\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\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}}{\frac{\frac{4}{1 - v \cdot v}}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}} \cdot \left|\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}\right|
double f(double v) {
        double r6906360 = 2.0;
        double r6906361 = sqrt(r6906360);
        double r6906362 = 4.0;
        double r6906363 = r6906361 / r6906362;
        double r6906364 = 1.0;
        double r6906365 = 3.0;
        double r6906366 = v;
        double r6906367 = r6906366 * r6906366;
        double r6906368 = r6906365 * r6906367;
        double r6906369 = r6906364 - r6906368;
        double r6906370 = sqrt(r6906369);
        double r6906371 = r6906363 * r6906370;
        double r6906372 = r6906364 - r6906367;
        double r6906373 = r6906371 * r6906372;
        return r6906373;
}

double f(double v) {
        double r6906374 = 2.0;
        double r6906375 = sqrt(r6906374);
        double r6906376 = 4.0;
        double r6906377 = 1.0;
        double r6906378 = v;
        double r6906379 = r6906378 * r6906378;
        double r6906380 = r6906377 - r6906379;
        double r6906381 = r6906376 / r6906380;
        double r6906382 = -3.0;
        double r6906383 = fma(r6906379, r6906382, r6906377);
        double r6906384 = cbrt(r6906383);
        double r6906385 = sqrt(r6906384);
        double r6906386 = r6906381 / r6906385;
        double r6906387 = r6906375 / r6906386;
        double r6906388 = fabs(r6906384);
        double r6906389 = r6906387 * r6906388;
        return r6906389;
}

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. Simplified0.0

    \[\leadsto \color{blue}{\frac{\sqrt{2}}{\frac{\frac{4}{1 - v \cdot v}}{\sqrt{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.0

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

    \[\leadsto \frac{\sqrt{2}}{\frac{\frac{4}{1 - v \cdot v}}{\color{blue}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}} \cdot \sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}}}\]
  6. Applied *-un-lft-identity0.0

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

    \[\leadsto \frac{\sqrt{2}}{\color{blue}{\frac{1}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}} \cdot \frac{\frac{4}{1 - v \cdot v}}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}}}\]
  8. Applied *-un-lft-identity0.0

    \[\leadsto \frac{\color{blue}{1 \cdot \sqrt{2}}}{\frac{1}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)} \cdot \sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}} \cdot \frac{\frac{4}{1 - v \cdot v}}{\sqrt{\sqrt[3]{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}}\]
  9. Applied times-frac0.0

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

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

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

Reproduce

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