Average Error: 0.0 → 0.0
Time: 16.9s
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{2} \cdot \left(\frac{\mathsf{fma}\left(-v, v, 1\right)}{4} \cdot \sqrt{\mathsf{fma}\left(3, v \cdot \left(-v\right), 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)
\sqrt{2} \cdot \left(\frac{\mathsf{fma}\left(-v, v, 1\right)}{4} \cdot \sqrt{\mathsf{fma}\left(3, v \cdot \left(-v\right), 1\right)}\right)
double f(double v) {
        double r191094 = 2.0;
        double r191095 = sqrt(r191094);
        double r191096 = 4.0;
        double r191097 = r191095 / r191096;
        double r191098 = 1.0;
        double r191099 = 3.0;
        double r191100 = v;
        double r191101 = r191100 * r191100;
        double r191102 = r191099 * r191101;
        double r191103 = r191098 - r191102;
        double r191104 = sqrt(r191103);
        double r191105 = r191097 * r191104;
        double r191106 = r191098 - r191101;
        double r191107 = r191105 * r191106;
        return r191107;
}

double f(double v) {
        double r191108 = 2.0;
        double r191109 = sqrt(r191108);
        double r191110 = v;
        double r191111 = -r191110;
        double r191112 = 1.0;
        double r191113 = fma(r191111, r191110, r191112);
        double r191114 = 4.0;
        double r191115 = r191113 / r191114;
        double r191116 = 3.0;
        double r191117 = r191110 * r191111;
        double r191118 = fma(r191116, r191117, r191112);
        double r191119 = sqrt(r191118);
        double r191120 = r191115 * r191119;
        double r191121 = r191109 * r191120;
        return r191121;
}

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}{\sqrt{2} \cdot \left(\sqrt{\mathsf{fma}\left(3, \left(-v\right) \cdot v, 1\right)} \cdot \frac{\mathsf{fma}\left(-v, v, 1\right)}{4}\right)}\]
  3. Final simplification0.0

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

Reproduce

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