Average Error: 1.0 → 0.0
Time: 4.6s
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(\pi \cdot \mathsf{fma}\left(v, v, 1\right)\right) \cdot \left(1 - v \cdot v\right)} \cdot \left(1 + v \cdot v\right)}{\sqrt{2 - 6 \cdot \left(v \cdot v\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(\pi \cdot \mathsf{fma}\left(v, v, 1\right)\right) \cdot \left(1 - v \cdot v\right)} \cdot \left(1 + v \cdot v\right)}{\sqrt{2 - 6 \cdot \left(v \cdot v\right)}}
double f(double v) {
        double r294339 = 4.0;
        double r294340 = 3.0;
        double r294341 = atan2(1.0, 0.0);
        double r294342 = r294340 * r294341;
        double r294343 = 1.0;
        double r294344 = v;
        double r294345 = r294344 * r294344;
        double r294346 = r294343 - r294345;
        double r294347 = r294342 * r294346;
        double r294348 = 2.0;
        double r294349 = 6.0;
        double r294350 = r294349 * r294345;
        double r294351 = r294348 - r294350;
        double r294352 = sqrt(r294351);
        double r294353 = r294347 * r294352;
        double r294354 = r294339 / r294353;
        return r294354;
}

double f(double v) {
        double r294355 = 4.0;
        double r294356 = 3.0;
        double r294357 = r294355 / r294356;
        double r294358 = atan2(1.0, 0.0);
        double r294359 = v;
        double r294360 = 1.0;
        double r294361 = fma(r294359, r294359, r294360);
        double r294362 = r294358 * r294361;
        double r294363 = r294359 * r294359;
        double r294364 = r294360 - r294363;
        double r294365 = r294362 * r294364;
        double r294366 = r294357 / r294365;
        double r294367 = r294360 + r294363;
        double r294368 = r294366 * r294367;
        double r294369 = 2.0;
        double r294370 = 6.0;
        double r294371 = r294370 * r294363;
        double r294372 = r294369 - r294371;
        double r294373 = sqrt(r294372);
        double r294374 = r294368 / r294373;
        return r294374;
}

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. Using strategy rm
  3. Applied associate-/r*0.0

    \[\leadsto \color{blue}{\frac{\frac{4}{\left(3 \cdot \pi\right) \cdot \left(1 - v \cdot v\right)}}{\sqrt{2 - 6 \cdot \left(v \cdot v\right)}}}\]
  4. Using strategy rm
  5. Applied flip--0.0

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

    \[\leadsto \frac{\frac{4}{\color{blue}{\frac{\left(3 \cdot \pi\right) \cdot \left(1 \cdot 1 - \left(v \cdot v\right) \cdot \left(v \cdot v\right)\right)}{1 + v \cdot v}}}}{\sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
  7. Applied associate-/r/0.0

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

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

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

Reproduce

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