\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{\sqrt[3]{\mathsf{fma}\left(-5, v \cdot v, 1\right)}}{\frac{\sqrt{\mathsf{fma}\left(v \cdot v, -6, 2\right)}}{\sqrt[3]{\mathsf{fma}\left(-5, v \cdot v, 1\right)}}} \cdot \frac{\frac{\sqrt[3]{\mathsf{fma}\left(-5, v \cdot v, 1\right)}}{\pi}}{1 - v \cdot v}}{t}double f(double v, double t) {
double r5899983 = 1.0;
double r5899984 = 5.0;
double r5899985 = v;
double r5899986 = r5899985 * r5899985;
double r5899987 = r5899984 * r5899986;
double r5899988 = r5899983 - r5899987;
double r5899989 = atan2(1.0, 0.0);
double r5899990 = t;
double r5899991 = r5899989 * r5899990;
double r5899992 = 2.0;
double r5899993 = 3.0;
double r5899994 = r5899993 * r5899986;
double r5899995 = r5899983 - r5899994;
double r5899996 = r5899992 * r5899995;
double r5899997 = sqrt(r5899996);
double r5899998 = r5899991 * r5899997;
double r5899999 = r5899983 - r5899986;
double r5900000 = r5899998 * r5899999;
double r5900001 = r5899988 / r5900000;
return r5900001;
}
double f(double v, double t) {
double r5900002 = -5.0;
double r5900003 = v;
double r5900004 = r5900003 * r5900003;
double r5900005 = 1.0;
double r5900006 = fma(r5900002, r5900004, r5900005);
double r5900007 = cbrt(r5900006);
double r5900008 = -6.0;
double r5900009 = 2.0;
double r5900010 = fma(r5900004, r5900008, r5900009);
double r5900011 = sqrt(r5900010);
double r5900012 = r5900011 / r5900007;
double r5900013 = r5900007 / r5900012;
double r5900014 = atan2(1.0, 0.0);
double r5900015 = r5900007 / r5900014;
double r5900016 = r5900005 - r5900004;
double r5900017 = r5900015 / r5900016;
double r5900018 = r5900013 * r5900017;
double r5900019 = t;
double r5900020 = r5900018 / r5900019;
return r5900020;
}



Bits error versus v



Bits error versus t
Initial program 0.5
Simplified0.4
rmApplied div-inv0.4
Applied times-frac0.4
Applied associate-/l*0.4
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied add-cube-cbrt0.3
Applied times-frac0.3
Applied times-frac0.4
Simplified0.3
rmApplied associate-*l/0.1
Final simplification0.1
herbie shell --seed 2019152 +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)))))