Average Error: 0.0 → 0.0
Time: 34.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)\]
\[\frac{1}{\frac{\frac{\frac{4}{\sqrt{2}}}{\sqrt{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}{1 - v \cdot v}}\]
\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)
\frac{1}{\frac{\frac{\frac{4}{\sqrt{2}}}{\sqrt{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}{1 - v \cdot v}}
double f(double v) {
        double r5135799 = 2.0;
        double r5135800 = sqrt(r5135799);
        double r5135801 = 4.0;
        double r5135802 = r5135800 / r5135801;
        double r5135803 = 1.0;
        double r5135804 = 3.0;
        double r5135805 = v;
        double r5135806 = r5135805 * r5135805;
        double r5135807 = r5135804 * r5135806;
        double r5135808 = r5135803 - r5135807;
        double r5135809 = sqrt(r5135808);
        double r5135810 = r5135802 * r5135809;
        double r5135811 = r5135803 - r5135806;
        double r5135812 = r5135810 * r5135811;
        return r5135812;
}

double f(double v) {
        double r5135813 = 1.0;
        double r5135814 = 4.0;
        double r5135815 = 2.0;
        double r5135816 = sqrt(r5135815);
        double r5135817 = r5135814 / r5135816;
        double r5135818 = v;
        double r5135819 = r5135818 * r5135818;
        double r5135820 = -3.0;
        double r5135821 = fma(r5135819, r5135820, r5135813);
        double r5135822 = sqrt(r5135821);
        double r5135823 = r5135817 / r5135822;
        double r5135824 = r5135813 - r5135819;
        double r5135825 = r5135823 / r5135824;
        double r5135826 = r5135813 / r5135825;
        return r5135826;
}

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{1 - v \cdot v}{\frac{\frac{4}{\sqrt{2}}}{\sqrt{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}}}\]
  3. Using strategy rm
  4. Applied clear-num0.0

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

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

Reproduce

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