Average Error: 1.0 → 0.0
Time: 20.1s
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}}{\sqrt{\pi - \left(v \cdot v\right) \cdot \pi}} \cdot \frac{1}{\sqrt{\pi - \left(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}}{\sqrt{\pi - \left(v \cdot v\right) \cdot \pi}} \cdot \frac{1}{\sqrt{\pi - \left(v \cdot v\right) \cdot \pi}}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\right)}}
double f(double v) {
        double r4141908 = 4.0;
        double r4141909 = 3.0;
        double r4141910 = atan2(1.0, 0.0);
        double r4141911 = r4141909 * r4141910;
        double r4141912 = 1.0;
        double r4141913 = v;
        double r4141914 = r4141913 * r4141913;
        double r4141915 = r4141912 - r4141914;
        double r4141916 = r4141911 * r4141915;
        double r4141917 = 2.0;
        double r4141918 = 6.0;
        double r4141919 = r4141918 * r4141914;
        double r4141920 = r4141917 - r4141919;
        double r4141921 = sqrt(r4141920);
        double r4141922 = r4141916 * r4141921;
        double r4141923 = r4141908 / r4141922;
        return r4141923;
}

double f(double v) {
        double r4141924 = 1.3333333333333333;
        double r4141925 = atan2(1.0, 0.0);
        double r4141926 = v;
        double r4141927 = r4141926 * r4141926;
        double r4141928 = r4141927 * r4141925;
        double r4141929 = r4141925 - r4141928;
        double r4141930 = sqrt(r4141929);
        double r4141931 = r4141924 / r4141930;
        double r4141932 = 1.0;
        double r4141933 = r4141932 / r4141930;
        double r4141934 = r4141931 * r4141933;
        double r4141935 = -6.0;
        double r4141936 = 2.0;
        double r4141937 = fma(r4141935, r4141927, r4141936);
        double r4141938 = sqrt(r4141937);
        double r4141939 = r4141934 / r4141938;
        return r4141939;
}

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

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

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

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

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

Reproduce

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