Average Error: 1.0 → 0.0
Time: 21.7s
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 - \log \left(e^{\left(v \cdot v\right) \cdot \pi}\right)}}{\sqrt{\mathsf{fma}\left(-6, v \cdot 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{4}{3}}{\pi - \log \left(e^{\left(v \cdot v\right) \cdot \pi}\right)}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\right)}}
double f(double v) {
        double r3391487 = 4.0;
        double r3391488 = 3.0;
        double r3391489 = atan2(1.0, 0.0);
        double r3391490 = r3391488 * r3391489;
        double r3391491 = 1.0;
        double r3391492 = v;
        double r3391493 = r3391492 * r3391492;
        double r3391494 = r3391491 - r3391493;
        double r3391495 = r3391490 * r3391494;
        double r3391496 = 2.0;
        double r3391497 = 6.0;
        double r3391498 = r3391497 * r3391493;
        double r3391499 = r3391496 - r3391498;
        double r3391500 = sqrt(r3391499);
        double r3391501 = r3391495 * r3391500;
        double r3391502 = r3391487 / r3391501;
        return r3391502;
}

double f(double v) {
        double r3391503 = 1.3333333333333333;
        double r3391504 = atan2(1.0, 0.0);
        double r3391505 = v;
        double r3391506 = r3391505 * r3391505;
        double r3391507 = r3391506 * r3391504;
        double r3391508 = exp(r3391507);
        double r3391509 = log(r3391508);
        double r3391510 = r3391504 - r3391509;
        double r3391511 = r3391503 / r3391510;
        double r3391512 = -6.0;
        double r3391513 = 2.0;
        double r3391514 = fma(r3391512, r3391506, r3391513);
        double r3391515 = sqrt(r3391514);
        double r3391516 = r3391511 / r3391515;
        return r3391516;
}

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 - \left(v \cdot v\right) \cdot \pi}}{\sqrt{\mathsf{fma}\left(-6, v \cdot v, 2\right)}}}\]
  3. Using strategy rm
  4. Applied add-log-exp0.0

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

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

Reproduce

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