Average Error: 1.0 → 0.0
Time: 26.5s
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^{v \cdot \left(v \cdot \pi\right)}\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{4}{3}}{\pi - \log \left(e^{v \cdot \left(v \cdot \pi\right)}\right)}}{\sqrt{\mathsf{fma}\left(\left(v \cdot -6\right), v, 2\right)}}
double f(double v) {
        double r41663240 = 4.0;
        double r41663241 = 3.0;
        double r41663242 = atan2(1.0, 0.0);
        double r41663243 = r41663241 * r41663242;
        double r41663244 = 1.0;
        double r41663245 = v;
        double r41663246 = r41663245 * r41663245;
        double r41663247 = r41663244 - r41663246;
        double r41663248 = r41663243 * r41663247;
        double r41663249 = 2.0;
        double r41663250 = 6.0;
        double r41663251 = r41663250 * r41663246;
        double r41663252 = r41663249 - r41663251;
        double r41663253 = sqrt(r41663252);
        double r41663254 = r41663248 * r41663253;
        double r41663255 = r41663240 / r41663254;
        return r41663255;
}

double f(double v) {
        double r41663256 = 1.3333333333333333;
        double r41663257 = atan2(1.0, 0.0);
        double r41663258 = v;
        double r41663259 = r41663258 * r41663257;
        double r41663260 = r41663258 * r41663259;
        double r41663261 = exp(r41663260);
        double r41663262 = log(r41663261);
        double r41663263 = r41663257 - r41663262;
        double r41663264 = r41663256 / r41663263;
        double r41663265 = -6.0;
        double r41663266 = r41663258 * r41663265;
        double r41663267 = 2.0;
        double r41663268 = fma(r41663266, r41663258, r41663267);
        double r41663269 = sqrt(r41663268);
        double r41663270 = r41663264 / r41663269;
        return r41663270;
}

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-log-exp0.0

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

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

Reproduce

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