\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + \left(2 \cdot t\right) \cdot t\right) - \ell \cdot \ell}}\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + \left(2 \cdot t\right) \cdot t\right) - \ell \cdot \ell}}double code(double t, double x, double l) {
return ((double) (((double) (((double) sqrt(2.0)) * t)) / ((double) sqrt(((double) (((double) (((double) (((double) (x + 1.0)) / ((double) (x - 1.0)))) * ((double) (((double) (l * l)) + ((double) (((double) (2.0 * t)) * t)))))) - ((double) (l * l))))))));
}
double code(double t, double x, double l) {
return ((double) (((double) (((double) sqrt(2.0)) * t)) / ((double) sqrt(((double) (((double) (((double) (((double) (x + 1.0)) / ((double) (x - 1.0)))) * ((double) (((double) (l * l)) + ((double) (((double) (2.0 * t)) * t)))))) - ((double) (l * l))))))));
}



Bits error versus t



Bits error versus x



Bits error versus l
Results
Initial program 43.0
Final simplification43.0
herbie shell --seed 2020153
(FPCore (t x l)
:name "(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* (* 2 t) t))) (* l l))))"
:precision binary64
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* (* 2.0 t) t))) (* l l)))))