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{\frac{4}{3}}{\sqrt{\pi - v \cdot \left(v \cdot \pi\right)}}}{\sqrt{\pi - v \cdot \left(v \cdot \pi\right)}}}{\sqrt{\mathsf{fma}\left(\left(v \cdot -6\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{\frac{4}{3}}{\sqrt{\pi - v \cdot \left(v \cdot \pi\right)}}}{\sqrt{\pi - v \cdot \left(v \cdot \pi\right)}}}{\sqrt{\mathsf{fma}\left(\left(v \cdot -6\right), v, 2\right)}}
double f(double v) {
        double r36167570 = 4.0;
        double r36167571 = 3.0;
        double r36167572 = atan2(1.0, 0.0);
        double r36167573 = r36167571 * r36167572;
        double r36167574 = 1.0;
        double r36167575 = v;
        double r36167576 = r36167575 * r36167575;
        double r36167577 = r36167574 - r36167576;
        double r36167578 = r36167573 * r36167577;
        double r36167579 = 2.0;
        double r36167580 = 6.0;
        double r36167581 = r36167580 * r36167576;
        double r36167582 = r36167579 - r36167581;
        double r36167583 = sqrt(r36167582);
        double r36167584 = r36167578 * r36167583;
        double r36167585 = r36167570 / r36167584;
        return r36167585;
}

double f(double v) {
        double r36167586 = 1.3333333333333333;
        double r36167587 = atan2(1.0, 0.0);
        double r36167588 = v;
        double r36167589 = r36167588 * r36167587;
        double r36167590 = r36167588 * r36167589;
        double r36167591 = r36167587 - r36167590;
        double r36167592 = sqrt(r36167591);
        double r36167593 = r36167586 / r36167592;
        double r36167594 = r36167593 / r36167592;
        double r36167595 = -6.0;
        double r36167596 = r36167588 * r36167595;
        double r36167597 = 2.0;
        double r36167598 = fma(r36167596, r36167588, r36167597);
        double r36167599 = sqrt(r36167598);
        double r36167600 = r36167594 / r36167599;
        return r36167600;
}

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 add-sqr-sqrt0.0

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

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

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

Reproduce

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