Average Error: 31.6 → 9.2
Time: 42.4s
Precision: 64
\[\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}\;t \le -1.3735352912821898 \cdot 10^{-34}:\\ \;\;\;\;\frac{2}{\left(t \cdot \frac{\sin k \cdot t}{\ell \cdot \cos k}\right) \cdot \mathsf{fma}\left(\frac{\sin k}{t}, \frac{k}{\frac{\ell}{k}}, \frac{\sin k \cdot t}{\ell} \cdot 2\right)}\\ \mathbf{elif}\;t \le 1.7648188831972625 \cdot 10^{-229}:\\ \;\;\;\;\frac{2}{\mathsf{fma}\left(\frac{\frac{t}{\ell}}{\ell}, \frac{\left(k \cdot \sin k\right) \cdot \left(k \cdot \sin k\right)}{\cos k}, \left(\left(\left(t \cdot \frac{t}{\ell}\right) \cdot \frac{t}{\ell}\right) \cdot 2\right) \cdot \frac{\sin k}{\frac{\cos k}{\sin k}}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(t \cdot \frac{\sin k \cdot t}{\ell \cdot \cos k}\right) \cdot \mathsf{fma}\left(\frac{\sin k}{t}, \frac{k}{\frac{\ell}{k}}, \frac{\sin k \cdot t}{\ell} \cdot 2\right)}\\ \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}\;t \le -1.3735352912821898 \cdot 10^{-34}:\\
\;\;\;\;\frac{2}{\left(t \cdot \frac{\sin k \cdot t}{\ell \cdot \cos k}\right) \cdot \mathsf{fma}\left(\frac{\sin k}{t}, \frac{k}{\frac{\ell}{k}}, \frac{\sin k \cdot t}{\ell} \cdot 2\right)}\\

\mathbf{elif}\;t \le 1.7648188831972625 \cdot 10^{-229}:\\
\;\;\;\;\frac{2}{\mathsf{fma}\left(\frac{\frac{t}{\ell}}{\ell}, \frac{\left(k \cdot \sin k\right) \cdot \left(k \cdot \sin k\right)}{\cos k}, \left(\left(\left(t \cdot \frac{t}{\ell}\right) \cdot \frac{t}{\ell}\right) \cdot 2\right) \cdot \frac{\sin k}{\frac{\cos k}{\sin k}}\right)}\\

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

\end{array}
double f(double t, double l, double k) {
        double r1854492 = 2.0;
        double r1854493 = t;
        double r1854494 = 3.0;
        double r1854495 = pow(r1854493, r1854494);
        double r1854496 = l;
        double r1854497 = r1854496 * r1854496;
        double r1854498 = r1854495 / r1854497;
        double r1854499 = k;
        double r1854500 = sin(r1854499);
        double r1854501 = r1854498 * r1854500;
        double r1854502 = tan(r1854499);
        double r1854503 = r1854501 * r1854502;
        double r1854504 = 1.0;
        double r1854505 = r1854499 / r1854493;
        double r1854506 = pow(r1854505, r1854492);
        double r1854507 = r1854504 + r1854506;
        double r1854508 = r1854507 + r1854504;
        double r1854509 = r1854503 * r1854508;
        double r1854510 = r1854492 / r1854509;
        return r1854510;
}

double f(double t, double l, double k) {
        double r1854511 = t;
        double r1854512 = -1.3735352912821898e-34;
        bool r1854513 = r1854511 <= r1854512;
        double r1854514 = 2.0;
        double r1854515 = k;
        double r1854516 = sin(r1854515);
        double r1854517 = r1854516 * r1854511;
        double r1854518 = l;
        double r1854519 = cos(r1854515);
        double r1854520 = r1854518 * r1854519;
        double r1854521 = r1854517 / r1854520;
        double r1854522 = r1854511 * r1854521;
        double r1854523 = r1854516 / r1854511;
        double r1854524 = r1854518 / r1854515;
        double r1854525 = r1854515 / r1854524;
        double r1854526 = r1854517 / r1854518;
        double r1854527 = r1854526 * r1854514;
        double r1854528 = fma(r1854523, r1854525, r1854527);
        double r1854529 = r1854522 * r1854528;
        double r1854530 = r1854514 / r1854529;
        double r1854531 = 1.7648188831972625e-229;
        bool r1854532 = r1854511 <= r1854531;
        double r1854533 = r1854511 / r1854518;
        double r1854534 = r1854533 / r1854518;
        double r1854535 = r1854515 * r1854516;
        double r1854536 = r1854535 * r1854535;
        double r1854537 = r1854536 / r1854519;
        double r1854538 = r1854511 * r1854533;
        double r1854539 = r1854538 * r1854533;
        double r1854540 = r1854539 * r1854514;
        double r1854541 = r1854519 / r1854516;
        double r1854542 = r1854516 / r1854541;
        double r1854543 = r1854540 * r1854542;
        double r1854544 = fma(r1854534, r1854537, r1854543);
        double r1854545 = r1854514 / r1854544;
        double r1854546 = r1854532 ? r1854545 : r1854530;
        double r1854547 = r1854513 ? r1854530 : r1854546;
        return r1854547;
}

Error

Bits error versus t

Bits error versus l

Bits error versus k

Derivation

  1. Split input into 2 regimes
  2. if t < -1.3735352912821898e-34 or 1.7648188831972625e-229 < t

    1. Initial program 25.8

      \[\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. Simplified9.8

      \[\leadsto \color{blue}{\frac{2}{\left(\left(\tan k \cdot \left(\frac{t}{\ell} \cdot t\right)\right) \cdot \mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)\right) \cdot \left(\sin k \cdot \frac{t}{\ell}\right)}}\]
    3. Using strategy rm
    4. Applied associate-*r*6.8

      \[\leadsto \frac{2}{\left(\color{blue}{\left(\left(\tan k \cdot \frac{t}{\ell}\right) \cdot t\right)} \cdot \mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)\right) \cdot \left(\sin k \cdot \frac{t}{\ell}\right)}\]
    5. Using strategy rm
    6. Applied associate-*l*6.6

      \[\leadsto \frac{2}{\color{blue}{\left(\left(\tan k \cdot \frac{t}{\ell}\right) \cdot t\right) \cdot \left(\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \left(\sin k \cdot \frac{t}{\ell}\right)\right)}}\]
    7. Taylor expanded around inf 10.7

      \[\leadsto \frac{2}{\left(\left(\tan k \cdot \frac{t}{\ell}\right) \cdot t\right) \cdot \color{blue}{\left(2 \cdot \frac{t \cdot \sin k}{\ell} + \frac{\sin k \cdot {k}^{2}}{t \cdot \ell}\right)}}\]
    8. Simplified5.6

      \[\leadsto \frac{2}{\left(\left(\tan k \cdot \frac{t}{\ell}\right) \cdot t\right) \cdot \color{blue}{\mathsf{fma}\left(\frac{\sin k}{t}, \frac{k}{\frac{\ell}{k}}, 2 \cdot \frac{t \cdot \sin k}{\ell}\right)}}\]
    9. Taylor expanded around -inf 5.4

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

    if -1.3735352912821898e-34 < t < 1.7648188831972625e-229

    1. Initial program 54.4

      \[\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. Simplified36.8

      \[\leadsto \color{blue}{\frac{2}{\left(\left(\tan k \cdot \left(\frac{t}{\ell} \cdot t\right)\right) \cdot \mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)\right) \cdot \left(\sin k \cdot \frac{t}{\ell}\right)}}\]
    3. Using strategy rm
    4. Applied associate-*r*36.8

      \[\leadsto \frac{2}{\left(\color{blue}{\left(\left(\tan k \cdot \frac{t}{\ell}\right) \cdot t\right)} \cdot \mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right)\right) \cdot \left(\sin k \cdot \frac{t}{\ell}\right)}\]
    5. Using strategy rm
    6. Applied associate-*l*37.0

      \[\leadsto \frac{2}{\color{blue}{\left(\left(\tan k \cdot \frac{t}{\ell}\right) \cdot t\right) \cdot \left(\mathsf{fma}\left(\frac{k}{t}, \frac{k}{t}, 2\right) \cdot \left(\sin k \cdot \frac{t}{\ell}\right)\right)}}\]
    7. Taylor expanded around inf 36.8

      \[\leadsto \frac{2}{\color{blue}{2 \cdot \frac{{t}^{3} \cdot {\left(\sin k\right)}^{2}}{{\ell}^{2} \cdot \cos k} + \frac{t \cdot \left({\left(\sin k\right)}^{2} \cdot {k}^{2}\right)}{{\ell}^{2} \cdot \cos k}}}\]
    8. Simplified24.6

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -1.3735352912821898 \cdot 10^{-34}:\\ \;\;\;\;\frac{2}{\left(t \cdot \frac{\sin k \cdot t}{\ell \cdot \cos k}\right) \cdot \mathsf{fma}\left(\frac{\sin k}{t}, \frac{k}{\frac{\ell}{k}}, \frac{\sin k \cdot t}{\ell} \cdot 2\right)}\\ \mathbf{elif}\;t \le 1.7648188831972625 \cdot 10^{-229}:\\ \;\;\;\;\frac{2}{\mathsf{fma}\left(\frac{\frac{t}{\ell}}{\ell}, \frac{\left(k \cdot \sin k\right) \cdot \left(k \cdot \sin k\right)}{\cos k}, \left(\left(\left(t \cdot \frac{t}{\ell}\right) \cdot \frac{t}{\ell}\right) \cdot 2\right) \cdot \frac{\sin k}{\frac{\cos k}{\sin k}}\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{2}{\left(t \cdot \frac{\sin k \cdot t}{\ell \cdot \cos k}\right) \cdot \mathsf{fma}\left(\frac{\sin k}{t}, \frac{k}{\frac{\ell}{k}}, \frac{\sin k \cdot t}{\ell} \cdot 2\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019141 +o rules:numerics
(FPCore (t l k)
  :name "Toniolo and Linder, Equation (10+)"
  (/ 2 (* (* (* (/ (pow t 3) (* l l)) (sin k)) (tan k)) (+ (+ 1 (pow (/ k t) 2)) 1))))