Average Error: 1.0 → 0.0
Time: 1.1m
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}}{\pi - v \cdot \left(v \cdot \pi\right)}}{\sqrt{\mathsf{fma}\left(\left(-6 \cdot v\right), 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}}{\pi - v \cdot \left(v \cdot \pi\right)}}{\sqrt{\mathsf{fma}\left(\left(-6 \cdot v\right), v, 2\right)}}
double f(double v) {
        double r51766076 = 4.0;
        double r51766077 = 3.0;
        double r51766078 = atan2(1.0, 0.0);
        double r51766079 = r51766077 * r51766078;
        double r51766080 = 1.0;
        double r51766081 = v;
        double r51766082 = r51766081 * r51766081;
        double r51766083 = r51766080 - r51766082;
        double r51766084 = r51766079 * r51766083;
        double r51766085 = 2.0;
        double r51766086 = 6.0;
        double r51766087 = r51766086 * r51766082;
        double r51766088 = r51766085 - r51766087;
        double r51766089 = sqrt(r51766088);
        double r51766090 = r51766084 * r51766089;
        double r51766091 = r51766076 / r51766090;
        return r51766091;
}

double f(double v) {
        double r51766092 = 1.3333333333333333;
        double r51766093 = atan2(1.0, 0.0);
        double r51766094 = v;
        double r51766095 = r51766094 * r51766093;
        double r51766096 = r51766094 * r51766095;
        double r51766097 = r51766093 - r51766096;
        double r51766098 = r51766092 / r51766097;
        double r51766099 = -6.0;
        double r51766100 = r51766099 * r51766094;
        double r51766101 = 2.0;
        double r51766102 = fma(r51766100, r51766094, r51766101);
        double r51766103 = sqrt(r51766102);
        double r51766104 = r51766098 / r51766103;
        return r51766104;
}

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(\left(v \cdot -6\right), v, 2\right)}}}\]
  3. Final simplification0.0

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

Reproduce

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