\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(\frac{\frac{\mathsf{fma}\left(-5, v \cdot v, 1\right)}{\pi}}{1 - \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right)\right) \cdot \left(v \cdot v\right)}, \mathsf{fma}\left(v \cdot v, v \cdot v, v \cdot v\right), \frac{\frac{\mathsf{fma}\left(-5, v \cdot v, 1\right)}{\pi}}{1 - \left(\left(v \cdot v\right) \cdot \left(v \cdot v\right)\right) \cdot \left(v \cdot v\right)}\right)}{\sqrt{2 - \left(v \cdot v\right) \cdot 6}}}{t}double f(double v, double t) {
double r5389009 = 1.0;
double r5389010 = 5.0;
double r5389011 = v;
double r5389012 = r5389011 * r5389011;
double r5389013 = r5389010 * r5389012;
double r5389014 = r5389009 - r5389013;
double r5389015 = atan2(1.0, 0.0);
double r5389016 = t;
double r5389017 = r5389015 * r5389016;
double r5389018 = 2.0;
double r5389019 = 3.0;
double r5389020 = r5389019 * r5389012;
double r5389021 = r5389009 - r5389020;
double r5389022 = r5389018 * r5389021;
double r5389023 = sqrt(r5389022);
double r5389024 = r5389017 * r5389023;
double r5389025 = r5389009 - r5389012;
double r5389026 = r5389024 * r5389025;
double r5389027 = r5389014 / r5389026;
return r5389027;
}
double f(double v, double t) {
double r5389028 = -5.0;
double r5389029 = v;
double r5389030 = r5389029 * r5389029;
double r5389031 = 1.0;
double r5389032 = fma(r5389028, r5389030, r5389031);
double r5389033 = atan2(1.0, 0.0);
double r5389034 = r5389032 / r5389033;
double r5389035 = r5389030 * r5389030;
double r5389036 = r5389035 * r5389030;
double r5389037 = r5389031 - r5389036;
double r5389038 = r5389034 / r5389037;
double r5389039 = fma(r5389030, r5389030, r5389030);
double r5389040 = fma(r5389038, r5389039, r5389038);
double r5389041 = 2.0;
double r5389042 = 6.0;
double r5389043 = r5389030 * r5389042;
double r5389044 = r5389041 - r5389043;
double r5389045 = sqrt(r5389044);
double r5389046 = r5389040 / r5389045;
double r5389047 = t;
double r5389048 = r5389046 / r5389047;
return r5389048;
}



Bits error versus v



Bits error versus t
Initial program 0.4
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied sqrt-prod0.4
Applied flip3--0.4
Applied associate-*r/0.4
Applied associate-/r/0.4
Applied times-frac0.4
Simplified0.3
Simplified0.3
rmApplied associate-*l/0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019149 +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)))))