\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\begin{array}{l}
\mathbf{if}\;\ell \cdot \ell \leq 6.552762192211068 \cdot 10^{+262}:\\
\;\;\;\;\sqrt[3]{{\left(\frac{\sqrt[3]{t \cdot \sqrt{2}} \cdot \left(\sqrt[3]{t \cdot \sqrt{2}} \cdot \sqrt[3]{t \cdot \sqrt{2}}\right)}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\right)}^{3}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}(FPCore (x l t) :precision binary64 (/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))
(FPCore (x l t)
:precision binary64
(if (<= (* l l) 6.552762192211068e+262)
(cbrt
(pow
(/
(*
(cbrt (* t (sqrt 2.0)))
(* (cbrt (* t (sqrt 2.0))) (cbrt (* t (sqrt 2.0)))))
(sqrt
(- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l))))
3.0))
0.0))double code(double x, double l, double t) {
return (sqrt(2.0) * t) / sqrt((((x + 1.0) / (x - 1.0)) * ((l * l) + (2.0 * (t * t)))) - (l * l));
}
double code(double x, double l, double t) {
double tmp;
if ((l * l) <= 6.552762192211068e+262) {
tmp = cbrt(pow(((cbrt(t * sqrt(2.0)) * (cbrt(t * sqrt(2.0)) * cbrt(t * sqrt(2.0)))) / sqrt((((x + 1.0) / (x - 1.0)) * ((l * l) + (2.0 * (t * t)))) - (l * l))), 3.0));
} else {
tmp = 0.0;
}
return tmp;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if (*.f64 l l) < 6.5527621922110679e262Initial program 37.1
rmApplied add-cbrt-cube_binary64_63237.1
Simplified37.1
rmApplied add-cube-cbrt_binary64_63137.5
if 6.5527621922110679e262 < (*.f64 l l) Initial program 63.5
Taylor expanded around 0 50.8
Final simplification40.6
herbie shell --seed 2020270
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
:precision binary64
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))