Average Error: 0.0 → 0.0
Time: 55.1s
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)\]
\[\sqrt[3]{\left(\sqrt{2} \cdot \frac{1}{32}\right) \cdot \left((\left(-3 \cdot v\right) \cdot v + 1)_* \cdot \sqrt{(\left(-3 \cdot v\right) \cdot v + 1)_*}\right)} \cdot \left(1 - v \cdot v\right)\]
double f(double v) {
        double r37162397 = 2.0;
        double r37162398 = sqrt(r37162397);
        double r37162399 = 4.0;
        double r37162400 = r37162398 / r37162399;
        double r37162401 = 1.0;
        double r37162402 = 3.0;
        double r37162403 = v;
        double r37162404 = r37162403 * r37162403;
        double r37162405 = r37162402 * r37162404;
        double r37162406 = r37162401 - r37162405;
        double r37162407 = sqrt(r37162406);
        double r37162408 = r37162400 * r37162407;
        double r37162409 = r37162401 - r37162404;
        double r37162410 = r37162408 * r37162409;
        return r37162410;
}

double f(double v) {
        double r37162411 = 2.0;
        double r37162412 = sqrt(r37162411);
        double r37162413 = 0.03125;
        double r37162414 = r37162412 * r37162413;
        double r37162415 = -3.0;
        double r37162416 = v;
        double r37162417 = r37162415 * r37162416;
        double r37162418 = 1.0;
        double r37162419 = fma(r37162417, r37162416, r37162418);
        double r37162420 = sqrt(r37162419);
        double r37162421 = r37162419 * r37162420;
        double r37162422 = r37162414 * r37162421;
        double r37162423 = cbrt(r37162422);
        double r37162424 = r37162416 * r37162416;
        double r37162425 = r37162418 - r37162424;
        double r37162426 = r37162423 * r37162425;
        return r37162426;
}

\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)
\sqrt[3]{\left(\sqrt{2} \cdot \frac{1}{32}\right) \cdot \left((\left(-3 \cdot v\right) \cdot v + 1)_* \cdot \sqrt{(\left(-3 \cdot v\right) \cdot v + 1)_*}\right)} \cdot \left(1 - v \cdot v\right)

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-cbrt-cube0.0

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

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

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

    \[\leadsto \sqrt[3]{\color{blue}{\left((\left(-3 \cdot v\right) \cdot v + 1)_* \cdot \sqrt{(\left(-3 \cdot v\right) \cdot v + 1)_*}\right) \cdot \left(\frac{1}{32} \cdot \sqrt{2}\right)}} \cdot \left(1 - v \cdot v\right)\]
  7. Final simplification0.0

    \[\leadsto \sqrt[3]{\left(\sqrt{2} \cdot \frac{1}{32}\right) \cdot \left((\left(-3 \cdot v\right) \cdot v + 1)_* \cdot \sqrt{(\left(-3 \cdot v\right) \cdot v + 1)_*}\right)} \cdot \left(1 - v \cdot v\right)\]

Reproduce

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