\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)}
\begin{array}{l}
t_1 := \pi \cdot \sqrt{2}\\
\frac{\frac{1}{t_1} - 4 \cdot \mathsf{fma}\left(\frac{v}{\pi}, \frac{v}{\sqrt{2}}, \frac{{v}^{4}}{t_1}\right)}{t \cdot \sqrt{\mathsf{fma}\left(v \cdot v, -3, 1\right)}}
\end{array}
(FPCore (v t) :precision binary64 (/ (- 1.0 (* 5.0 (* v v))) (* (* (* PI t) (sqrt (* 2.0 (- 1.0 (* 3.0 (* v v)))))) (- 1.0 (* v v)))))
(FPCore (v t)
:precision binary64
(let* ((t_1 (* PI (sqrt 2.0))))
(/
(- (/ 1.0 t_1) (* 4.0 (fma (/ v PI) (/ v (sqrt 2.0)) (/ (pow v 4.0) t_1))))
(* t (sqrt (fma (* v v) -3.0 1.0))))))double code(double v, double t) {
return (1.0 - (5.0 * (v * v))) / (((((double) M_PI) * t) * sqrt((2.0 * (1.0 - (3.0 * (v * v)))))) * (1.0 - (v * v)));
}
double code(double v, double t) {
double t_1 = ((double) M_PI) * sqrt(2.0);
return ((1.0 / t_1) - (4.0 * fma((v / ((double) M_PI)), (v / sqrt(2.0)), (pow(v, 4.0) / t_1)))) / (t * sqrt(fma((v * v), -3.0, 1.0)));
}



Bits error versus v



Bits error versus t
Initial program 0.5
Taylor expanded in t around 0 0.4
Applied associate-/r*_binary640.1
Simplified0.1
Applied sqrt-div_binary640.1
Applied frac-times_binary640.1
Simplified0.1
Simplified0.1
Taylor expanded in v around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2022125
(FPCore (v t)
:name "Falkner and Boettcher, Equation (20:1,3)"
:precision binary64
(/ (- 1.0 (* 5.0 (* v v))) (* (* (* PI t) (sqrt (* 2.0 (- 1.0 (* 3.0 (* v v)))))) (- 1.0 (* v v)))))