Average Error: 1.0 → 0.0
Time: 4.8s
Precision: 64
\[\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
\[\frac{\frac{4}{3 \cdot \pi}}{\mathsf{fma}\left(v, v, 1\right) \cdot \left(\left(1 - v \cdot v\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}\right)} \cdot \left(1 + v \cdot v\right)\]
\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}
\frac{\frac{4}{3 \cdot \pi}}{\mathsf{fma}\left(v, v, 1\right) \cdot \left(\left(1 - v \cdot v\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}\right)} \cdot \left(1 + v \cdot v\right)
double f(double v) {
        double r293914 = 4.0;
        double r293915 = 3.0;
        double r293916 = atan2(1.0, 0.0);
        double r293917 = r293915 * r293916;
        double r293918 = 1.0;
        double r293919 = v;
        double r293920 = r293919 * r293919;
        double r293921 = r293918 - r293920;
        double r293922 = r293917 * r293921;
        double r293923 = 2.0;
        double r293924 = 6.0;
        double r293925 = r293924 * r293920;
        double r293926 = r293923 - r293925;
        double r293927 = sqrt(r293926);
        double r293928 = r293922 * r293927;
        double r293929 = r293914 / r293928;
        return r293929;
}

double f(double v) {
        double r293930 = 4.0;
        double r293931 = 3.0;
        double r293932 = atan2(1.0, 0.0);
        double r293933 = r293931 * r293932;
        double r293934 = r293930 / r293933;
        double r293935 = v;
        double r293936 = 1.0;
        double r293937 = fma(r293935, r293935, r293936);
        double r293938 = r293935 * r293935;
        double r293939 = r293936 - r293938;
        double r293940 = 2.0;
        double r293941 = 6.0;
        double r293942 = r293941 * r293938;
        double r293943 = r293940 - r293942;
        double r293944 = sqrt(r293943);
        double r293945 = r293939 * r293944;
        double r293946 = r293937 * r293945;
        double r293947 = r293934 / r293946;
        double r293948 = r293936 + r293938;
        double r293949 = r293947 * r293948;
        return r293949;
}

Error

Bits error versus v

Derivation

  1. Initial program 1.0

    \[\frac{4}{\left(\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
  2. Using strategy rm
  3. Applied flip--1.0

    \[\leadsto \frac{4}{\left(\left(3 \cdot \pi\right) \cdot \color{blue}{\frac{1 \cdot 1 - \left(v \cdot v\right) \cdot \left(v \cdot v\right)}{1 + v \cdot v}}\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
  4. Applied associate-*r/1.0

    \[\leadsto \frac{4}{\color{blue}{\frac{\left(3 \cdot \pi\right) \cdot \left(1 \cdot 1 - \left(v \cdot v\right) \cdot \left(v \cdot v\right)\right)}{1 + v \cdot v}} \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
  5. Applied associate-*l/1.0

    \[\leadsto \frac{4}{\color{blue}{\frac{\left(\left(3 \cdot \pi\right) \cdot \left(1 \cdot 1 - \left(v \cdot v\right) \cdot \left(v \cdot v\right)\right)\right) \cdot \sqrt{2 - 6 \cdot \left(v \cdot v\right)}}{1 + v \cdot v}}}\]
  6. Applied associate-/r/1.0

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

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

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

Reproduce

herbie shell --seed 2020035 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Equation (22+)"
  :precision binary64
  (/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v)))))))