Average Error: 47.7 → 9.2
Time: 23.2s
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)}\]
\[\ell \cdot \frac{\frac{2}{\frac{k \cdot \left(t \cdot {\sin k}^{2}\right)}{\cos k}}}{\frac{k}{\ell}}\]
\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)}
\ell \cdot \frac{\frac{2}{\frac{k \cdot \left(t \cdot {\sin k}^{2}\right)}{\cos k}}}{\frac{k}{\ell}}
(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
 (* l (/ (/ 2.0 (/ (* k (* t (pow (sin k) 2.0))) (cos k))) (/ k l))))
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) {
	return l * ((2.0 / ((k * (t * pow(sin(k), 2.0))) / cos(k))) / (k / l));
}

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. Initial program 47.7

    \[\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. Simplified40.0

    \[\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 inf 22.7

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

    \[\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 associate-*l*_binary64_36020.5

    \[\leadsto \frac{2}{\frac{\color{blue}{k \cdot \left(k \cdot \left(t \cdot {\sin k}^{2}\right)\right)}}{\left(\ell \cdot \ell\right) \cdot \cos k}}\]
  7. Using strategy rm
  8. Applied times-frac_binary64_42518.3

    \[\leadsto \frac{2}{\color{blue}{\frac{k}{\ell \cdot \ell} \cdot \frac{k \cdot \left(t \cdot {\sin k}^{2}\right)}{\cos k}}}\]
  9. Applied add-sqr-sqrt_binary64_44118.4

    \[\leadsto \frac{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}{\frac{k}{\ell \cdot \ell} \cdot \frac{k \cdot \left(t \cdot {\sin k}^{2}\right)}{\cos k}}\]
  10. Applied times-frac_binary64_42518.4

    \[\leadsto \color{blue}{\frac{\sqrt{2}}{\frac{k}{\ell \cdot \ell}} \cdot \frac{\sqrt{2}}{\frac{k \cdot \left(t \cdot {\sin k}^{2}\right)}{\cos k}}}\]
  11. Using strategy rm
  12. Applied pow1_binary64_48018.4

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

    \[\leadsto \color{blue}{{\left(\frac{\sqrt{2}}{\frac{k}{\ell \cdot \ell}}\right)}^{1}} \cdot {\left(\frac{\sqrt{2}}{\frac{k \cdot \left(t \cdot {\sin k}^{2}\right)}{\cos k}}\right)}^{1}\]
  14. Applied pow-prod-down_binary64_49018.4

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

    \[\leadsto {\color{blue}{\left(\frac{\frac{2}{\frac{k \cdot \left(t \cdot {\sin k}^{2}\right)}{\cos k}}}{\frac{k}{\ell}} \cdot \ell\right)}}^{1}\]
  16. Final simplification9.2

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

Reproduce

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