\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)}\left(\frac{\frac{\sqrt{\sqrt{1 - \left(v \cdot v\right) \cdot 5}}}{\pi}}{\sqrt{2}} \cdot \frac{\frac{\sqrt{\sqrt{1 - \left(v \cdot v\right) \cdot 5}}}{t}}{\sqrt{1 - \left(v \cdot v\right) \cdot 3}}\right) \cdot \frac{\sqrt{1 - \left(v \cdot v\right) \cdot 5}}{1 - v \cdot v}(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
(*
(*
(/ (/ (sqrt (sqrt (- 1.0 (* (* v v) 5.0)))) PI) (sqrt 2.0))
(/
(/ (sqrt (sqrt (- 1.0 (* (* v v) 5.0)))) t)
(sqrt (- 1.0 (* (* v v) 3.0)))))
(/ (sqrt (- 1.0 (* (* v v) 5.0))) (- 1.0 (* v v)))))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) {
return (((sqrt(sqrt(1.0 - ((v * v) * 5.0))) / ((double) M_PI)) / sqrt(2.0)) * ((sqrt(sqrt(1.0 - ((v * v) * 5.0))) / t) / sqrt(1.0 - ((v * v) * 3.0)))) * (sqrt(1.0 - ((v * v) * 5.0)) / (1.0 - (v * v)));
}



Bits error versus v



Bits error versus t
Results
Initial program 0.4
rmApplied add-sqr-sqrt_binary64_21460.5
Applied times-frac_binary64_21300.5
Simplified0.5
Simplified0.5
rmApplied associate-/r*_binary64_20680.4
rmApplied sqrt-prod_binary64_21400.4
Applied add-sqr-sqrt_binary64_21460.5
Applied times-frac_binary64_21300.4
Applied times-frac_binary64_21300.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020342
(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)))))