\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{1}{\sqrt{2}}}{t} \cdot \frac{\frac{\mathsf{fma}\left(\left(v \cdot v\right), -5, 1\right)}{\pi \cdot \left(1 - v \cdot v\right)}}{\sqrt{\mathsf{fma}\left(\left(v \cdot v\right), -3, 1\right)}}double f(double v, double t) {
double r64384620 = 1.0;
double r64384621 = 5.0;
double r64384622 = v;
double r64384623 = r64384622 * r64384622;
double r64384624 = r64384621 * r64384623;
double r64384625 = r64384620 - r64384624;
double r64384626 = atan2(1.0, 0.0);
double r64384627 = t;
double r64384628 = r64384626 * r64384627;
double r64384629 = 2.0;
double r64384630 = 3.0;
double r64384631 = r64384630 * r64384623;
double r64384632 = r64384620 - r64384631;
double r64384633 = r64384629 * r64384632;
double r64384634 = sqrt(r64384633);
double r64384635 = r64384628 * r64384634;
double r64384636 = r64384620 - r64384623;
double r64384637 = r64384635 * r64384636;
double r64384638 = r64384625 / r64384637;
return r64384638;
}
double f(double v, double t) {
double r64384639 = 1.0;
double r64384640 = 2.0;
double r64384641 = sqrt(r64384640);
double r64384642 = r64384639 / r64384641;
double r64384643 = t;
double r64384644 = r64384642 / r64384643;
double r64384645 = v;
double r64384646 = r64384645 * r64384645;
double r64384647 = -5.0;
double r64384648 = fma(r64384646, r64384647, r64384639);
double r64384649 = atan2(1.0, 0.0);
double r64384650 = r64384639 - r64384646;
double r64384651 = r64384649 * r64384650;
double r64384652 = r64384648 / r64384651;
double r64384653 = -3.0;
double r64384654 = fma(r64384646, r64384653, r64384639);
double r64384655 = sqrt(r64384654);
double r64384656 = r64384652 / r64384655;
double r64384657 = r64384644 * r64384656;
return r64384657;
}



Bits error versus v



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