Average Error: 1.0 → 0.0
Time: 9.2s
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{\frac{4}{3}}{\left(1 - v \cdot v\right) \cdot \pi}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\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{\frac{4}{3}}{\left(1 - v \cdot v\right) \cdot \pi}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\right)}}
double f(double v) {
        double r2489921 = 4.0;
        double r2489922 = 3.0;
        double r2489923 = atan2(1.0, 0.0);
        double r2489924 = r2489922 * r2489923;
        double r2489925 = 1.0;
        double r2489926 = v;
        double r2489927 = r2489926 * r2489926;
        double r2489928 = r2489925 - r2489927;
        double r2489929 = r2489924 * r2489928;
        double r2489930 = 2.0;
        double r2489931 = 6.0;
        double r2489932 = r2489931 * r2489927;
        double r2489933 = r2489930 - r2489932;
        double r2489934 = sqrt(r2489933);
        double r2489935 = r2489929 * r2489934;
        double r2489936 = r2489921 / r2489935;
        return r2489936;
}

double f(double v) {
        double r2489937 = 1.3333333333333333;
        double r2489938 = 1.0;
        double r2489939 = v;
        double r2489940 = r2489939 * r2489939;
        double r2489941 = r2489938 - r2489940;
        double r2489942 = atan2(1.0, 0.0);
        double r2489943 = r2489941 * r2489942;
        double r2489944 = r2489937 / r2489943;
        double r2489945 = -6.0;
        double r2489946 = 2.0;
        double r2489947 = fma(r2489945, r2489940, r2489946);
        double r2489948 = sqrt(r2489947);
        double r2489949 = r2489944 / r2489948;
        return r2489949;
}

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

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

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

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

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

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

Reproduce

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