Average Error: 1.0 → 0.0
Time: 12.9s
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}}{\sqrt{\mathsf{fma}\left(-6, \left(v \cdot v\right), 2\right)} - \sqrt{\mathsf{fma}\left(-6, \left(v \cdot v\right), 2\right)} \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}}{\pi}}{\sqrt{\mathsf{fma}\left(-6, \left(v \cdot v\right), 2\right)} - \sqrt{\mathsf{fma}\left(-6, \left(v \cdot v\right), 2\right)} \cdot \left(v \cdot v\right)}
double f(double v) {
        double r4965568 = 4.0;
        double r4965569 = 3.0;
        double r4965570 = atan2(1.0, 0.0);
        double r4965571 = r4965569 * r4965570;
        double r4965572 = 1.0;
        double r4965573 = v;
        double r4965574 = r4965573 * r4965573;
        double r4965575 = r4965572 - r4965574;
        double r4965576 = r4965571 * r4965575;
        double r4965577 = 2.0;
        double r4965578 = 6.0;
        double r4965579 = r4965578 * r4965574;
        double r4965580 = r4965577 - r4965579;
        double r4965581 = sqrt(r4965580);
        double r4965582 = r4965576 * r4965581;
        double r4965583 = r4965568 / r4965582;
        return r4965583;
}

double f(double v) {
        double r4965584 = 1.3333333333333333;
        double r4965585 = atan2(1.0, 0.0);
        double r4965586 = r4965584 / r4965585;
        double r4965587 = -6.0;
        double r4965588 = v;
        double r4965589 = r4965588 * r4965588;
        double r4965590 = 2.0;
        double r4965591 = fma(r4965587, r4965589, r4965590);
        double r4965592 = sqrt(r4965591);
        double r4965593 = r4965592 * r4965589;
        double r4965594 = r4965592 - r4965593;
        double r4965595 = r4965586 / r4965594;
        return r4965595;
}

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

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

Reproduce

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