Average Error: 43.0 → 43.0
Time: 3.4s
Precision: binary64
\[\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}}\]
\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))))))));
}

Error

Bits error versus t

Bits error versus x

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 43.0

    \[\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}}\]
  2. Final simplification43.0

    \[\leadsto \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}}\]

Reproduce

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)))))