Average Error: 0.4 → 0.3
Time: 36.7s
Precision: 64
\[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
\[\frac{\frac{\mathsf{fma}\left(-5, v \cdot v, 1\right)}{\pi}}{\left(1 - v \cdot v\right) \cdot \left(\sqrt{-6 \cdot \left(v \cdot v\right) + 2} \cdot t\right)}\]
\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}
\frac{\frac{\mathsf{fma}\left(-5, v \cdot v, 1\right)}{\pi}}{\left(1 - v \cdot v\right) \cdot \left(\sqrt{-6 \cdot \left(v \cdot v\right) + 2} \cdot t\right)}
double f(double v, double t) {
        double r6532943 = 1.0;
        double r6532944 = 5.0;
        double r6532945 = v;
        double r6532946 = r6532945 * r6532945;
        double r6532947 = r6532944 * r6532946;
        double r6532948 = r6532943 - r6532947;
        double r6532949 = atan2(1.0, 0.0);
        double r6532950 = t;
        double r6532951 = r6532949 * r6532950;
        double r6532952 = 2.0;
        double r6532953 = 3.0;
        double r6532954 = r6532953 * r6532946;
        double r6532955 = r6532943 - r6532954;
        double r6532956 = r6532952 * r6532955;
        double r6532957 = sqrt(r6532956);
        double r6532958 = r6532951 * r6532957;
        double r6532959 = r6532943 - r6532946;
        double r6532960 = r6532958 * r6532959;
        double r6532961 = r6532948 / r6532960;
        return r6532961;
}

double f(double v, double t) {
        double r6532962 = -5.0;
        double r6532963 = v;
        double r6532964 = r6532963 * r6532963;
        double r6532965 = 1.0;
        double r6532966 = fma(r6532962, r6532964, r6532965);
        double r6532967 = atan2(1.0, 0.0);
        double r6532968 = r6532966 / r6532967;
        double r6532969 = r6532965 - r6532964;
        double r6532970 = -6.0;
        double r6532971 = r6532970 * r6532964;
        double r6532972 = 2.0;
        double r6532973 = r6532971 + r6532972;
        double r6532974 = sqrt(r6532973);
        double r6532975 = t;
        double r6532976 = r6532974 * r6532975;
        double r6532977 = r6532969 * r6532976;
        double r6532978 = r6532968 / r6532977;
        return r6532978;
}

Error

Bits error versus v

Bits error versus t

Derivation

  1. Initial program 0.4

    \[\frac{1 - 5 \cdot \left(v \cdot v\right)}{\left(\left(\pi \cdot t\right) \cdot \sqrt{2 \cdot \left(1 - 3 \cdot \left(v \cdot v\right)\right)}\right) \cdot \left(1 - v \cdot v\right)}\]
  2. Simplified0.4

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

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

    \[\leadsto \frac{\color{blue}{\frac{\mathsf{fma}\left(-5, v \cdot v, 1\right)}{\pi} \cdot \frac{\frac{1}{t}}{1 - v \cdot v}}}{\sqrt{2 - 6 \cdot \left(v \cdot v\right)}}\]
  6. Applied associate-/l*0.4

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

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

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

Reproduce

herbie shell --seed 2019143 +o rules:numerics
(FPCore (v t)
  :name "Falkner and Boettcher, Equation (20:1,3)"
  (/ (- 1 (* 5 (* v v))) (* (* (* PI t) (sqrt (* 2 (- 1 (* 3 (* v v)))))) (- 1 (* v v)))))