Average Error: 1.0 → 0.0
Time: 8.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{1}{\pi}}{1 - v \cdot v}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\right)}} \cdot \frac{4}{3}\]
\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{1}{\pi}}{1 - v \cdot v}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\right)}} \cdot \frac{4}{3}
double f(double v) {
        double r18890513 = 4.0;
        double r18890514 = 3.0;
        double r18890515 = atan2(1.0, 0.0);
        double r18890516 = r18890514 * r18890515;
        double r18890517 = 1.0;
        double r18890518 = v;
        double r18890519 = r18890518 * r18890518;
        double r18890520 = r18890517 - r18890519;
        double r18890521 = r18890516 * r18890520;
        double r18890522 = 2.0;
        double r18890523 = 6.0;
        double r18890524 = r18890523 * r18890519;
        double r18890525 = r18890522 - r18890524;
        double r18890526 = sqrt(r18890525);
        double r18890527 = r18890521 * r18890526;
        double r18890528 = r18890513 / r18890527;
        return r18890528;
}

double f(double v) {
        double r18890529 = 1.0;
        double r18890530 = atan2(1.0, 0.0);
        double r18890531 = r18890529 / r18890530;
        double r18890532 = v;
        double r18890533 = r18890532 * r18890532;
        double r18890534 = r18890529 - r18890533;
        double r18890535 = r18890531 / r18890534;
        double r18890536 = -6.0;
        double r18890537 = 2.0;
        double r18890538 = fma(r18890536, r18890533, r18890537);
        double r18890539 = sqrt(r18890538);
        double r18890540 = r18890535 / r18890539;
        double r18890541 = 1.3333333333333333;
        double r18890542 = r18890540 * r18890541;
        return r18890542;
}

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{\frac{4}{3}}{\pi}}{1 - v \cdot v}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\right)}}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.0

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

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

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

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

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

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

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

Reproduce

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