Average Error: 43.4 → 9.7
Time: 7.0s
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 -6.947129452840641 \cdot 10^{+124}:\\ \;\;\;\;\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.3384093830115906 \cdot 10^{-200}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(\sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}} \cdot \sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}}\right)}}\\ \mathbf{elif}\;t \leq -9.353770347627324 \cdot 10^{-257}:\\ \;\;\;\;\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.2726627814772679 \cdot 10^{-219}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}} \cdot \sqrt{\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.0218099834270248 \cdot 10^{-153} \lor \neg \left(t \leq 1.38095966045702 \cdot 10^{+89}\right):\\ \;\;\;\;\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)}\\ \mathbf{else}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(\sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}} \cdot \sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}}\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 -6.947129452840641 \cdot 10^{+124}:\\
\;\;\;\;\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.3384093830115906 \cdot 10^{-200}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(\sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}} \cdot \sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}}\right)}}\\

\mathbf{elif}\;t \leq -9.353770347627324 \cdot 10^{-257}:\\
\;\;\;\;\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.2726627814772679 \cdot 10^{-219}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}} \cdot \sqrt{\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.0218099834270248 \cdot 10^{-153} \lor \neg \left(t \leq 1.38095966045702 \cdot 10^{+89}\right):\\
\;\;\;\;\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)}\\

\mathbf{else}:\\
\;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(\sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}} \cdot \sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}}\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 -6.947129452840641e+124)
   (/
    (* 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.3384093830115906e-200)
     (/
      (* t (sqrt 2.0))
      (sqrt
       (+
        (* 4.0 (/ (* t t) x))
        (*
         2.0
         (*
          (sqrt (+ (* t t) (* l (/ l x))))
          (sqrt (+ (* t t) (* l (/ l x)))))))))
     (if (<= t -9.353770347627324e-257)
       (/
        (* 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.2726627814772679e-219)
         (/
          (* t (sqrt 2.0))
          (*
           (sqrt
            (sqrt (+ (* 4.0 (/ (* t t) x)) (* 2.0 (+ (* t t) (* l (/ l x)))))))
           (sqrt
            (sqrt
             (+ (* 4.0 (/ (* t t) x)) (* 2.0 (+ (* t t) (* l (/ l x)))))))))
         (if (or (<= t 1.0218099834270248e-153)
                 (not (<= t 1.38095966045702e+89)))
           (/
            (* 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))))))))
           (/
            (* t (sqrt 2.0))
            (sqrt
             (+
              (* 4.0 (/ (* t t) x))
              (*
               2.0
               (*
                (sqrt (+ (* t t) (* l (/ l x))))
                (sqrt (+ (* t t) (* l (/ l x)))))))))))))))
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 <= -6.947129452840641e+124)) {
		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.3384093830115906e-200)) {
			tmp_1 = (((double) (t * ((double) sqrt(2.0)))) / ((double) sqrt(((double) (((double) (4.0 * (((double) (t * t)) / x))) + ((double) (2.0 * ((double) (((double) sqrt(((double) (((double) (t * t)) + ((double) (l * (l / x))))))) * ((double) sqrt(((double) (((double) (t * t)) + ((double) (l * (l / x))))))))))))))));
		} else {
			double tmp_2;
			if ((t <= -9.353770347627324e-257)) {
				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.2726627814772679e-219)) {
					tmp_3 = (((double) (t * ((double) sqrt(2.0)))) / ((double) (((double) sqrt(((double) sqrt(((double) (((double) (4.0 * (((double) (t * t)) / x))) + ((double) (2.0 * ((double) (((double) (t * t)) + ((double) (l * (l / x))))))))))))) * ((double) sqrt(((double) sqrt(((double) (((double) (4.0 * (((double) (t * t)) / x))) + ((double) (2.0 * ((double) (((double) (t * t)) + ((double) (l * (l / x))))))))))))))));
				} else {
					double tmp_4;
					if (((t <= 1.0218099834270248e-153) || !(t <= 1.38095966045702e+89))) {
						tmp_4 = (((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))))))))))))));
					} else {
						tmp_4 = (((double) (t * ((double) sqrt(2.0)))) / ((double) sqrt(((double) (((double) (4.0 * (((double) (t * t)) / x))) + ((double) (2.0 * ((double) (((double) sqrt(((double) (((double) (t * t)) + ((double) (l * (l / x))))))) * ((double) sqrt(((double) (((double) (t * t)) + ((double) (l * (l / x))))))))))))))));
					}
					tmp_3 = tmp_4;
				}
				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 4 regimes
  2. if t < -6.9471294528406411e124 or -1.33840938301159064e-200 < t < -9.3537703476273239e-257

    1. Initial program 56.0

      \[\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 8.2

      \[\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. Simplified8.2

      \[\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 -6.9471294528406411e124 < t < -1.33840938301159064e-200 or 1.0218099834270248e-153 < t < 1.38095966045702e89

    1. Initial program 29.1

      \[\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 12.1

      \[\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. Simplified12.1

      \[\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_binary6412.1

      \[\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_binary647.2

      \[\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. Simplified7.2

      \[\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)}}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt_binary647.2

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

    if -9.3537703476273239e-257 < t < 1.27266278147726786e-219

    1. Initial program 62.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 32.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. Simplified32.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_binary6432.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_binary6432.3

      \[\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. Simplified32.3

      \[\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)}}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt_binary6432.3

      \[\leadsto \frac{\sqrt{2} \cdot t}{\sqrt{\color{blue}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)} \cdot \sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}}}}\]
    10. Applied sqrt-prod_binary6432.3

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

    if 1.27266278147726786e-219 < t < 1.0218099834270248e-153 or 1.38095966045702e89 < t

    1. Initial program 52.0

      \[\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 7.9

      \[\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. Simplified7.9

      \[\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 4 regimes into one program.
  4. Final simplification9.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \leq -6.947129452840641 \cdot 10^{+124}:\\ \;\;\;\;\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.3384093830115906 \cdot 10^{-200}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(\sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}} \cdot \sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}}\right)}}\\ \mathbf{elif}\;t \leq -9.353770347627324 \cdot 10^{-257}:\\ \;\;\;\;\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.2726627814772679 \cdot 10^{-219}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(t \cdot t + \ell \cdot \frac{\ell}{x}\right)}} \cdot \sqrt{\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.0218099834270248 \cdot 10^{-153} \lor \neg \left(t \leq 1.38095966045702 \cdot 10^{+89}\right):\\ \;\;\;\;\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)}\\ \mathbf{else}:\\ \;\;\;\;\frac{t \cdot \sqrt{2}}{\sqrt{4 \cdot \frac{t \cdot t}{x} + 2 \cdot \left(\sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}} \cdot \sqrt{t \cdot t + \ell \cdot \frac{\ell}{x}}\right)}}\\ \end{array}\]

Reproduce

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