\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{\frac{\mathsf{fma}\left(-5, v \cdot v, 1\right)}{t}}{\pi \cdot \left(1 - v \cdot v\right)}}{\sqrt{2 - \left(v \cdot v\right) \cdot 6}}double f(double v, double t) {
double r9486885 = 1.0;
double r9486886 = 5.0;
double r9486887 = v;
double r9486888 = r9486887 * r9486887;
double r9486889 = r9486886 * r9486888;
double r9486890 = r9486885 - r9486889;
double r9486891 = atan2(1.0, 0.0);
double r9486892 = t;
double r9486893 = r9486891 * r9486892;
double r9486894 = 2.0;
double r9486895 = 3.0;
double r9486896 = r9486895 * r9486888;
double r9486897 = r9486885 - r9486896;
double r9486898 = r9486894 * r9486897;
double r9486899 = sqrt(r9486898);
double r9486900 = r9486893 * r9486899;
double r9486901 = r9486885 - r9486888;
double r9486902 = r9486900 * r9486901;
double r9486903 = r9486890 / r9486902;
return r9486903;
}
double f(double v, double t) {
double r9486904 = -5.0;
double r9486905 = v;
double r9486906 = r9486905 * r9486905;
double r9486907 = 1.0;
double r9486908 = fma(r9486904, r9486906, r9486907);
double r9486909 = t;
double r9486910 = r9486908 / r9486909;
double r9486911 = atan2(1.0, 0.0);
double r9486912 = r9486907 - r9486906;
double r9486913 = r9486911 * r9486912;
double r9486914 = r9486910 / r9486913;
double r9486915 = 2.0;
double r9486916 = 6.0;
double r9486917 = r9486906 * r9486916;
double r9486918 = r9486915 - r9486917;
double r9486919 = sqrt(r9486918);
double r9486920 = r9486914 / r9486919;
return r9486920;
}



Bits error versus v



Bits error versus t
Initial program 0.5
Simplified0.4
Final simplification0.4
herbie shell --seed 2019144 +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)))))