Average Error: 1.0 → 0.0
Time: 10.5s
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 r3095249 = 4.0;
        double r3095250 = 3.0;
        double r3095251 = atan2(1.0, 0.0);
        double r3095252 = r3095250 * r3095251;
        double r3095253 = 1.0;
        double r3095254 = v;
        double r3095255 = r3095254 * r3095254;
        double r3095256 = r3095253 - r3095255;
        double r3095257 = r3095252 * r3095256;
        double r3095258 = 2.0;
        double r3095259 = 6.0;
        double r3095260 = r3095259 * r3095255;
        double r3095261 = r3095258 - r3095260;
        double r3095262 = sqrt(r3095261);
        double r3095263 = r3095257 * r3095262;
        double r3095264 = r3095249 / r3095263;
        return r3095264;
}

double f(double v) {
        double r3095265 = 1.3333333333333333;
        double r3095266 = atan2(1.0, 0.0);
        double r3095267 = v;
        double r3095268 = r3095267 * r3095266;
        double r3095269 = r3095267 * r3095268;
        double r3095270 = r3095266 - r3095269;
        double r3095271 = r3095265 / r3095270;
        double r3095272 = -6.0;
        double r3095273 = r3095272 * r3095267;
        double r3095274 = 2.0;
        double r3095275 = fma(r3095273, r3095267, r3095274);
        double r3095276 = sqrt(r3095275);
        double r3095277 = r3095271 / r3095276;
        return r3095277;
}

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)))))))