Average Error: 1.0 → 0.0
Time: 13.3s
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 r4678000 = 4.0;
        double r4678001 = 3.0;
        double r4678002 = atan2(1.0, 0.0);
        double r4678003 = r4678001 * r4678002;
        double r4678004 = 1.0;
        double r4678005 = v;
        double r4678006 = r4678005 * r4678005;
        double r4678007 = r4678004 - r4678006;
        double r4678008 = r4678003 * r4678007;
        double r4678009 = 2.0;
        double r4678010 = 6.0;
        double r4678011 = r4678010 * r4678006;
        double r4678012 = r4678009 - r4678011;
        double r4678013 = sqrt(r4678012);
        double r4678014 = r4678008 * r4678013;
        double r4678015 = r4678000 / r4678014;
        return r4678015;
}

double f(double v) {
        double r4678016 = 1.3333333333333333;
        double r4678017 = atan2(1.0, 0.0);
        double r4678018 = r4678016 / r4678017;
        double r4678019 = -6.0;
        double r4678020 = v;
        double r4678021 = r4678020 * r4678020;
        double r4678022 = 2.0;
        double r4678023 = fma(r4678019, r4678021, r4678022);
        double r4678024 = sqrt(r4678023);
        double r4678025 = r4678024 * r4678021;
        double r4678026 = r4678024 - r4678025;
        double r4678027 = r4678018 / r4678026;
        return r4678027;
}

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 2019132 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Equation (22+)"
  (/ 4 (* (* (* 3 PI) (- 1 (* v v))) (sqrt (- 2 (* 6 (* v v)))))))