\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 \le -6.758930516841978210246323496861710927032 \cdot 10^{97}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{2}{x \cdot \left(2 \cdot \sqrt{2}\right)} \cdot \frac{t}{x} - \left(\sqrt{2} \cdot t + \frac{2}{x} \cdot \frac{t}{\sqrt{2}}\right)\right) - \frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x}}\\
\mathbf{elif}\;t \le 4.225315466536892026145009010018028395833 \cdot 10^{92}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\sqrt{\left(\ell \cdot \frac{\ell}{x} + t \cdot t\right) \cdot 2 + \frac{t \cdot t}{x} \cdot 4}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\sqrt{2} \cdot t + \frac{2}{x} \cdot \frac{t}{\sqrt{2}}\right) + \left(\frac{\frac{t}{\sqrt{2}}}{x} \cdot \frac{2}{x} - \frac{2}{x \cdot \left(2 \cdot \sqrt{2}\right)} \cdot \frac{t}{x}\right)}\\
\end{array}double f(double x, double l, double t) {
double r1452094 = 2.0;
double r1452095 = sqrt(r1452094);
double r1452096 = t;
double r1452097 = r1452095 * r1452096;
double r1452098 = x;
double r1452099 = 1.0;
double r1452100 = r1452098 + r1452099;
double r1452101 = r1452098 - r1452099;
double r1452102 = r1452100 / r1452101;
double r1452103 = l;
double r1452104 = r1452103 * r1452103;
double r1452105 = r1452096 * r1452096;
double r1452106 = r1452094 * r1452105;
double r1452107 = r1452104 + r1452106;
double r1452108 = r1452102 * r1452107;
double r1452109 = r1452108 - r1452104;
double r1452110 = sqrt(r1452109);
double r1452111 = r1452097 / r1452110;
return r1452111;
}
double f(double x, double l, double t) {
double r1452112 = t;
double r1452113 = -6.758930516841978e+97;
bool r1452114 = r1452112 <= r1452113;
double r1452115 = 2.0;
double r1452116 = sqrt(r1452115);
double r1452117 = r1452116 * r1452112;
double r1452118 = x;
double r1452119 = r1452115 * r1452116;
double r1452120 = r1452118 * r1452119;
double r1452121 = r1452115 / r1452120;
double r1452122 = r1452112 / r1452118;
double r1452123 = r1452121 * r1452122;
double r1452124 = r1452115 / r1452118;
double r1452125 = r1452112 / r1452116;
double r1452126 = r1452124 * r1452125;
double r1452127 = r1452117 + r1452126;
double r1452128 = r1452123 - r1452127;
double r1452129 = r1452125 / r1452118;
double r1452130 = r1452129 * r1452124;
double r1452131 = r1452128 - r1452130;
double r1452132 = r1452117 / r1452131;
double r1452133 = 4.225315466536892e+92;
bool r1452134 = r1452112 <= r1452133;
double r1452135 = l;
double r1452136 = r1452135 / r1452118;
double r1452137 = r1452135 * r1452136;
double r1452138 = r1452112 * r1452112;
double r1452139 = r1452137 + r1452138;
double r1452140 = r1452139 * r1452115;
double r1452141 = r1452138 / r1452118;
double r1452142 = 4.0;
double r1452143 = r1452141 * r1452142;
double r1452144 = r1452140 + r1452143;
double r1452145 = sqrt(r1452144);
double r1452146 = r1452117 / r1452145;
double r1452147 = r1452130 - r1452123;
double r1452148 = r1452127 + r1452147;
double r1452149 = r1452117 / r1452148;
double r1452150 = r1452134 ? r1452146 : r1452149;
double r1452151 = r1452114 ? r1452132 : r1452150;
return r1452151;
}



Bits error versus x



Bits error versus l



Bits error versus t
Results
if t < -6.758930516841978e+97Initial program 49.7
Taylor expanded around -inf 3.2
Simplified3.2
if -6.758930516841978e+97 < t < 4.225315466536892e+92Initial program 38.5
Taylor expanded around inf 17.8
Simplified17.8
rmApplied *-un-lft-identity17.8
Applied times-frac13.2
Simplified13.2
if 4.225315466536892e+92 < t Initial program 49.3
Taylor expanded around inf 2.8
Simplified2.8
Final simplification9.0
herbie shell --seed 2019171
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))