Average Error: 1.0 → 0.0
Time: 13.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{\sqrt{\frac{\frac{4}{3}}{\pi - v \cdot \left(v \cdot \pi\right)}} \cdot \sqrt{\frac{\frac{4}{3}}{\pi - v \cdot \left(v \cdot \pi\right)}}}{\sqrt{\mathsf{fma}\left(v \cdot -6, 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{\sqrt{\frac{\frac{4}{3}}{\pi - v \cdot \left(v \cdot \pi\right)}} \cdot \sqrt{\frac{\frac{4}{3}}{\pi - v \cdot \left(v \cdot \pi\right)}}}{\sqrt{\mathsf{fma}\left(v \cdot -6, v, 2\right)}}
double f(double v) {
        double r4184906 = 4.0;
        double r4184907 = 3.0;
        double r4184908 = atan2(1.0, 0.0);
        double r4184909 = r4184907 * r4184908;
        double r4184910 = 1.0;
        double r4184911 = v;
        double r4184912 = r4184911 * r4184911;
        double r4184913 = r4184910 - r4184912;
        double r4184914 = r4184909 * r4184913;
        double r4184915 = 2.0;
        double r4184916 = 6.0;
        double r4184917 = r4184916 * r4184912;
        double r4184918 = r4184915 - r4184917;
        double r4184919 = sqrt(r4184918);
        double r4184920 = r4184914 * r4184919;
        double r4184921 = r4184906 / r4184920;
        return r4184921;
}

double f(double v) {
        double r4184922 = 1.3333333333333333;
        double r4184923 = atan2(1.0, 0.0);
        double r4184924 = v;
        double r4184925 = r4184924 * r4184923;
        double r4184926 = r4184924 * r4184925;
        double r4184927 = r4184923 - r4184926;
        double r4184928 = r4184922 / r4184927;
        double r4184929 = sqrt(r4184928);
        double r4184930 = r4184929 * r4184929;
        double r4184931 = -6.0;
        double r4184932 = r4184924 * r4184931;
        double r4184933 = 2.0;
        double r4184934 = fma(r4184932, r4184924, r4184933);
        double r4184935 = sqrt(r4184934);
        double r4184936 = r4184930 / r4184935;
        return r4184936;
}

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{4}{3}}{\pi - v \cdot \left(\pi \cdot v\right)}}{\sqrt{\mathsf{fma}\left(v \cdot -6, v, 2\right)}}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.0

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

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

Reproduce

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