Average Error: 1.0 → 0.0
Time: 3.5m
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{1}{\frac{\sqrt{\mathsf{fma}\left(\left(-6 \cdot v\right), v, 2\right)}}{\frac{\frac{4}{3}}{\pi - v \cdot \left(\pi \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{1}{\frac{\sqrt{\mathsf{fma}\left(\left(-6 \cdot v\right), v, 2\right)}}{\frac{\frac{4}{3}}{\pi - v \cdot \left(\pi \cdot v\right)}}}
double f(double v) {
        double r46876417 = 4.0;
        double r46876418 = 3.0;
        double r46876419 = atan2(1.0, 0.0);
        double r46876420 = r46876418 * r46876419;
        double r46876421 = 1.0;
        double r46876422 = v;
        double r46876423 = r46876422 * r46876422;
        double r46876424 = r46876421 - r46876423;
        double r46876425 = r46876420 * r46876424;
        double r46876426 = 2.0;
        double r46876427 = 6.0;
        double r46876428 = r46876427 * r46876423;
        double r46876429 = r46876426 - r46876428;
        double r46876430 = sqrt(r46876429);
        double r46876431 = r46876425 * r46876430;
        double r46876432 = r46876417 / r46876431;
        return r46876432;
}

double f(double v) {
        double r46876433 = 1.0;
        double r46876434 = -6.0;
        double r46876435 = v;
        double r46876436 = r46876434 * r46876435;
        double r46876437 = 2.0;
        double r46876438 = fma(r46876436, r46876435, r46876437);
        double r46876439 = sqrt(r46876438);
        double r46876440 = 1.3333333333333333;
        double r46876441 = atan2(1.0, 0.0);
        double r46876442 = r46876441 * r46876435;
        double r46876443 = r46876435 * r46876442;
        double r46876444 = r46876441 - r46876443;
        double r46876445 = r46876440 / r46876444;
        double r46876446 = r46876439 / r46876445;
        double r46876447 = r46876433 / r46876446;
        return r46876447;
}

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. Using strategy rm
  4. Applied clear-num0.0

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

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

Reproduce

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