Average Error: 48.3 → 2.9
Time: 24.6s
Precision: binary64
\[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}\]
\[\begin{array}{l} \mathbf{if}\;k \leq -3.6001585920385914 \cdot 10^{-53} \lor \neg \left(k \leq 1.2891079698145107 \cdot 10^{-134}\right):\\ \;\;\;\;\left|\frac{\ell}{k}\right| \cdot \left(\left|\frac{\ell}{k}\right| \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{2}{\frac{\sin k \cdot \left(t \cdot \sin k\right)}{\cos k}}\\ \end{array}\]
\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}
\begin{array}{l}
\mathbf{if}\;k \leq -3.6001585920385914 \cdot 10^{-53} \lor \neg \left(k \leq 1.2891079698145107 \cdot 10^{-134}\right):\\
\;\;\;\;\left|\frac{\ell}{k}\right| \cdot \left(\left|\frac{\ell}{k}\right| \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{2}{\frac{\sin k \cdot \left(t \cdot \sin k\right)}{\cos k}}\\

\end{array}
(FPCore (t l k)
 :precision binary64
 (/
  2.0
  (*
   (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k))
   (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))
(FPCore (t l k)
 :precision binary64
 (if (or (<= k -3.6001585920385914e-53) (not (<= k 1.2891079698145107e-134)))
   (*
    (fabs (/ l k))
    (* (fabs (/ l k)) (/ 2.0 (/ (* t (pow (sin k) 2.0)) (cos k)))))
   (* (* (/ l k) (/ l k)) (/ 2.0 (/ (* (sin k) (* t (sin k))) (cos k))))))
double code(double t, double l, double k) {
	return 2.0 / ((((pow(t, 3.0) / (l * l)) * sin(k)) * tan(k)) * ((1.0 + pow((k / t), 2.0)) - 1.0));
}
double code(double t, double l, double k) {
	double tmp;
	if ((k <= -3.6001585920385914e-53) || !(k <= 1.2891079698145107e-134)) {
		tmp = fabs(l / k) * (fabs(l / k) * (2.0 / ((t * pow(sin(k), 2.0)) / cos(k))));
	} else {
		tmp = ((l / k) * (l / k)) * (2.0 / ((sin(k) * (t * sin(k))) / cos(k)));
	}
	return tmp;
}

Error

Bits error versus t

Bits error versus l

Bits error versus k

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if k < -3.60015859203859141e-53 or 1.28910796981451067e-134 < k

    1. Initial program 46.5

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}\]
    2. Simplified38.3

      \[\leadsto \color{blue}{\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot {\left(\frac{k}{t}\right)}^{2}}}\]
    3. Taylor expanded around 0 20.5

      \[\leadsto \frac{2}{\color{blue}{\frac{{k}^{2} \cdot \left(t \cdot {\sin k}^{2}\right)}{{\ell}^{2} \cdot \cos k}}}\]
    4. Simplified20.5

      \[\leadsto \frac{2}{\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(t \cdot {\sin k}^{2}\right)}{\left(\ell \cdot \ell\right) \cdot \cos k}}}\]
    5. Using strategy rm
    6. Applied times-frac_binary6420.0

      \[\leadsto \frac{2}{\color{blue}{\frac{k \cdot k}{\ell \cdot \ell} \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}}\]
    7. Applied *-un-lft-identity_binary6420.0

      \[\leadsto \frac{\color{blue}{1 \cdot 2}}{\frac{k \cdot k}{\ell \cdot \ell} \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    8. Applied times-frac_binary6420.1

      \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot k}{\ell \cdot \ell}} \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}\]
    9. Simplified20.0

      \[\leadsto \color{blue}{\frac{\ell \cdot \ell}{k \cdot k}} \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    10. Using strategy rm
    11. Applied add-sqr-sqrt_binary6420.0

      \[\leadsto \color{blue}{\left(\sqrt{\frac{\ell \cdot \ell}{k \cdot k}} \cdot \sqrt{\frac{\ell \cdot \ell}{k \cdot k}}\right)} \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    12. Simplified20.0

      \[\leadsto \left(\color{blue}{\left|\frac{\ell}{k}\right|} \cdot \sqrt{\frac{\ell \cdot \ell}{k \cdot k}}\right) \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    13. Simplified7.1

      \[\leadsto \left(\left|\frac{\ell}{k}\right| \cdot \color{blue}{\left|\frac{\ell}{k}\right|}\right) \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    14. Using strategy rm
    15. Applied associate-*l*_binary641.3

      \[\leadsto \color{blue}{\left|\frac{\ell}{k}\right| \cdot \left(\left|\frac{\ell}{k}\right| \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)}\]

    if -3.60015859203859141e-53 < k < 1.28910796981451067e-134

    1. Initial program 63.6

      \[\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot \left(\left(1 + {\left(\frac{k}{t}\right)}^{2}\right) - 1\right)}\]
    2. Simplified60.3

      \[\leadsto \color{blue}{\frac{2}{\left(\left(\frac{{t}^{3}}{\ell \cdot \ell} \cdot \sin k\right) \cdot \tan k\right) \cdot {\left(\frac{k}{t}\right)}^{2}}}\]
    3. Taylor expanded around 0 49.5

      \[\leadsto \frac{2}{\color{blue}{\frac{{k}^{2} \cdot \left(t \cdot {\sin k}^{2}\right)}{{\ell}^{2} \cdot \cos k}}}\]
    4. Simplified49.5

      \[\leadsto \frac{2}{\color{blue}{\frac{\left(k \cdot k\right) \cdot \left(t \cdot {\sin k}^{2}\right)}{\left(\ell \cdot \ell\right) \cdot \cos k}}}\]
    5. Using strategy rm
    6. Applied times-frac_binary6443.0

      \[\leadsto \frac{2}{\color{blue}{\frac{k \cdot k}{\ell \cdot \ell} \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}}\]
    7. Applied *-un-lft-identity_binary6443.0

      \[\leadsto \frac{\color{blue}{1 \cdot 2}}{\frac{k \cdot k}{\ell \cdot \ell} \cdot \frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    8. Applied times-frac_binary6443.1

      \[\leadsto \color{blue}{\frac{1}{\frac{k \cdot k}{\ell \cdot \ell}} \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}}\]
    9. Simplified43.0

      \[\leadsto \color{blue}{\frac{\ell \cdot \ell}{k \cdot k}} \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    10. Using strategy rm
    11. Applied add-sqr-sqrt_binary6443.1

      \[\leadsto \color{blue}{\left(\sqrt{\frac{\ell \cdot \ell}{k \cdot k}} \cdot \sqrt{\frac{\ell \cdot \ell}{k \cdot k}}\right)} \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    12. Simplified43.0

      \[\leadsto \left(\color{blue}{\left|\frac{\ell}{k}\right|} \cdot \sqrt{\frac{\ell \cdot \ell}{k \cdot k}}\right) \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    13. Simplified31.5

      \[\leadsto \left(\left|\frac{\ell}{k}\right| \cdot \color{blue}{\left|\frac{\ell}{k}\right|}\right) \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\]
    14. Using strategy rm
    15. Applied unpow2_binary6431.5

      \[\leadsto \left(\left|\frac{\ell}{k}\right| \cdot \left|\frac{\ell}{k}\right|\right) \cdot \frac{2}{\frac{t \cdot \color{blue}{\left(\sin k \cdot \sin k\right)}}{\cos k}}\]
    16. Applied associate-*r*_binary6416.4

      \[\leadsto \left(\left|\frac{\ell}{k}\right| \cdot \left|\frac{\ell}{k}\right|\right) \cdot \frac{2}{\frac{\color{blue}{\left(t \cdot \sin k\right) \cdot \sin k}}{\cos k}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \leq -3.6001585920385914 \cdot 10^{-53} \lor \neg \left(k \leq 1.2891079698145107 \cdot 10^{-134}\right):\\ \;\;\;\;\left|\frac{\ell}{k}\right| \cdot \left(\left|\frac{\ell}{k}\right| \cdot \frac{2}{\frac{t \cdot {\sin k}^{2}}{\cos k}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{\ell}{k} \cdot \frac{\ell}{k}\right) \cdot \frac{2}{\frac{\sin k \cdot \left(t \cdot \sin k\right)}{\cos k}}\\ \end{array}\]

Alternatives

Reproduce

herbie shell --seed 2021118 
(FPCore (t l k)
  :name "Toniolo and Linder, Equation (10-)"
  :precision binary64
  (/ 2.0 (* (* (* (/ (pow t 3.0) (* l l)) (sin k)) (tan k)) (- (+ 1.0 (pow (/ k t) 2.0)) 1.0))))