Average Error: 42.8 → 9.3
Time: 6.8s
Precision: binary64
\[\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}\;t \leq -2.0540059517808046 \cdot 10^{+75}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\frac{t}{x \cdot x} \cdot \left(\frac{2}{2 \cdot \sqrt{2}} - \frac{2}{\sqrt{2}}\right) - \left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\ \mathbf{elif}\;t \leq -1.6304660526178 \cdot 10^{-246}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}}\\ \mathbf{elif}\;t \leq -1.6173039977917613 \cdot 10^{-280}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\frac{t}{x \cdot x} \cdot \left(\frac{2}{2 \cdot \sqrt{2}} - \frac{2}{\sqrt{2}}\right) - \left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\ \mathbf{elif}\;t \leq 1.6984376092331043 \cdot 10^{-273} \lor \neg \left(t \leq 1.4633199475026642 \cdot 10^{-170}\right) \land t \leq 1.400943711969558 \cdot 10^{+107}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{t \cdot \sqrt{2} + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + \frac{t}{x \cdot x} \cdot \left(\frac{2}{\sqrt{2}} - \frac{2}{2 \cdot \sqrt{2}}\right)\right)}\\ \end{array}\]
\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}\;t \leq -2.0540059517808046 \cdot 10^{+75}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\frac{t}{x \cdot x} \cdot \left(\frac{2}{2 \cdot \sqrt{2}} - \frac{2}{\sqrt{2}}\right) - \left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\

\mathbf{elif}\;t \leq -1.6304660526178 \cdot 10^{-246}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}}\\

\mathbf{elif}\;t \leq -1.6173039977917613 \cdot 10^{-280}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\frac{t}{x \cdot x} \cdot \left(\frac{2}{2 \cdot \sqrt{2}} - \frac{2}{\sqrt{2}}\right) - \left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\

\mathbf{elif}\;t \leq 1.6984376092331043 \cdot 10^{-273} \lor \neg \left(t \leq 1.4633199475026642 \cdot 10^{-170}\right) \land t \leq 1.400943711969558 \cdot 10^{+107}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{t \cdot \sqrt{2} + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + \frac{t}{x \cdot x} \cdot \left(\frac{2}{\sqrt{2}} - \frac{2}{2 \cdot \sqrt{2}}\right)\right)}\\

\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 (<= t -2.0540059517808046e+75)
   (/
    (* t (sqrt 2.0))
    (-
     (* (/ t (* x x)) (- (/ 2.0 (* 2.0 (sqrt 2.0))) (/ 2.0 (sqrt 2.0))))
     (+ (* t (sqrt 2.0)) (* 2.0 (/ t (* (sqrt 2.0) x))))))
   (if (<= t -1.6304660526178e-246)
     (/
      (* t (sqrt 2.0))
      (sqrt (+ (* 4.0 (/ (* t t) x)) (* 2.0 (+ (* t t) (* l (/ l x)))))))
     (if (<= t -1.6173039977917613e-280)
       (/
        (* t (sqrt 2.0))
        (-
         (* (/ t (* x x)) (- (/ 2.0 (* 2.0 (sqrt 2.0))) (/ 2.0 (sqrt 2.0))))
         (+ (* t (sqrt 2.0)) (* 2.0 (/ t (* (sqrt 2.0) x))))))
       (if (or (<= t 1.6984376092331043e-273)
               (and (not (<= t 1.4633199475026642e-170))
                    (<= t 1.400943711969558e+107)))
         (/
          (* t (sqrt 2.0))
          (sqrt (+ (* 4.0 (/ (* t t) x)) (* 2.0 (+ (* t t) (* l (/ l x)))))))
         (/
          (* t (sqrt 2.0))
          (+
           (* t (sqrt 2.0))
           (+
            (* 2.0 (/ t (* (sqrt 2.0) x)))
            (*
             (/ t (* x x))
             (- (/ 2.0 (sqrt 2.0)) (/ 2.0 (* 2.0 (sqrt 2.0)))))))))))))
double code(double x, double l, double t) {
	return (((double) (((double) sqrt(2.0)) * t)) / ((double) sqrt(((double) (((double) ((((double) (x + 1.0)) / ((double) (x - 1.0))) * ((double) (((double) (l * l)) + ((double) (2.0 * ((double) (t * t)))))))) - ((double) (l * l)))))));
}
double code(double x, double l, double t) {
	double tmp;
	if ((t <= -2.0540059517808046e+75)) {
		tmp = (((double) (t * ((double) sqrt(2.0)))) / ((double) (((double) ((t / ((double) (x * x))) * ((double) ((2.0 / ((double) (2.0 * ((double) sqrt(2.0))))) - (2.0 / ((double) sqrt(2.0))))))) - ((double) (((double) (t * ((double) sqrt(2.0)))) + ((double) (2.0 * (t / ((double) (((double) sqrt(2.0)) * x))))))))));
	} else {
		double tmp_1;
		if ((t <= -1.6304660526178e-246)) {
			tmp_1 = (((double) (t * ((double) sqrt(2.0)))) / ((double) sqrt(((double) (((double) (4.0 * (((double) (t * t)) / x))) + ((double) (2.0 * ((double) (((double) (t * t)) + ((double) (l * (l / x))))))))))));
		} else {
			double tmp_2;
			if ((t <= -1.6173039977917613e-280)) {
				tmp_2 = (((double) (t * ((double) sqrt(2.0)))) / ((double) (((double) ((t / ((double) (x * x))) * ((double) ((2.0 / ((double) (2.0 * ((double) sqrt(2.0))))) - (2.0 / ((double) sqrt(2.0))))))) - ((double) (((double) (t * ((double) sqrt(2.0)))) + ((double) (2.0 * (t / ((double) (((double) sqrt(2.0)) * x))))))))));
			} else {
				double tmp_3;
				if (((t <= 1.6984376092331043e-273) || (!(t <= 1.4633199475026642e-170) && (t <= 1.400943711969558e+107)))) {
					tmp_3 = (((double) (t * ((double) sqrt(2.0)))) / ((double) sqrt(((double) (((double) (4.0 * (((double) (t * t)) / x))) + ((double) (2.0 * ((double) (((double) (t * t)) + ((double) (l * (l / x))))))))))));
				} else {
					tmp_3 = (((double) (t * ((double) sqrt(2.0)))) / ((double) (((double) (t * ((double) sqrt(2.0)))) + ((double) (((double) (2.0 * (t / ((double) (((double) sqrt(2.0)) * x))))) + ((double) ((t / ((double) (x * x))) * ((double) ((2.0 / ((double) sqrt(2.0))) - (2.0 / ((double) (2.0 * ((double) sqrt(2.0))))))))))))));
				}
				tmp_2 = tmp_3;
			}
			tmp_1 = tmp_2;
		}
		tmp = tmp_1;
	}
	return tmp;
}

Error

Bits error versus x

Bits error versus l

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if t < -2.05400595178080459e75 or -1.6304660526177999e-246 < t < -1.61730399779176133e-280

    1. Initial program 48.6

      \[\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}}\]
    2. Taylor expanded around -inf 5.7

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}} - \left(2 \cdot \frac{t}{\sqrt{2} \cdot {x}^{2}} + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)\right)}}\]
    3. Simplified5.7

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{\frac{t}{x \cdot x} \cdot \left(\frac{2}{2 \cdot \sqrt{2}} - \frac{2}{\sqrt{2}}\right) - \left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{x \cdot \sqrt{2}}\right)}}\]

    if -2.05400595178080459e75 < t < -1.6304660526177999e-246 or -1.61730399779176133e-280 < t < 1.6984376092331043e-273 or 1.46331994750266417e-170 < t < 1.400943711969558e107

    1. Initial program 33.8

      \[\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}}\]
    2. Taylor expanded around inf 14.8

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{\color{blue}{2 \cdot {t}^{2} + \left(2 \cdot \frac{{\ell}^{2}}{x} + 4 \cdot \frac{{t}^{2}}{x}\right)}}}\]
    3. Simplified14.8

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{\color{blue}{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \frac{\ell \cdot \ell}{x}\right)}}}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity_binary6414.8

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \frac{\ell \cdot \ell}{\color{blue}{1 \cdot x}}\right)}}\]
    6. Applied times-frac_binary6410.1

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \color{blue}{\frac{\ell}{1} \cdot \frac{\ell}{x}}\right)}}\]
    7. Simplified10.1

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \color{blue}{\ell} \cdot \frac{\ell}{x}\right)}}\]

    if 1.6984376092331043e-273 < t < 1.46331994750266417e-170 or 1.400943711969558e107 < t

    1. Initial program 54.5

      \[\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}}\]
    2. Taylor expanded around inf 11.1

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{\left(2 \cdot \frac{t}{\sqrt{2} \cdot {x}^{2}} + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + t \cdot \sqrt{2}\right)\right) - 2 \cdot \frac{t}{{\left(\sqrt{2}\right)}^{3} \cdot {x}^{2}}}}\]
    3. Simplified11.1

      \[\leadsto \frac{\sqrt{2} \cdot t}{\color{blue}{t \cdot \sqrt{2} + \left(2 \cdot \frac{t}{x \cdot \sqrt{2}} + \frac{t}{x \cdot x} \cdot \left(\frac{2}{\sqrt{2}} - \frac{2}{2 \cdot \sqrt{2}}\right)\right)}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification9.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -2.0540059517808046 \cdot 10^{+75}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\frac{t}{x \cdot x} \cdot \left(\frac{2}{2 \cdot \sqrt{2}} - \frac{2}{\sqrt{2}}\right) - \left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\ \mathbf{elif}\;t \leq -1.6304660526178 \cdot 10^{-246}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}}\\ \mathbf{elif}\;t \leq -1.6173039977917613 \cdot 10^{-280}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\frac{t}{x \cdot x} \cdot \left(\frac{2}{2 \cdot \sqrt{2}} - \frac{2}{\sqrt{2}}\right) - \left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}\\ \mathbf{elif}\;t \leq 1.6984376092331043 \cdot 10^{-273} \lor \neg \left(t \leq 1.4633199475026642 \cdot 10^{-170}\right) \land t \leq 1.400943711969558 \cdot 10^{+107}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{t \cdot \sqrt{2} + \left(2 \cdot \frac{t}{\sqrt{2} \cdot x} + \frac{t}{x \cdot x} \cdot \left(\frac{2}{\sqrt{2}} - \frac{2}{2 \cdot \sqrt{2}}\right)\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2020205 
(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)))))