Average Error: 16.8 → 5.2
Time: 9.7s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -1.4341891400844817 \cdot 10^{161} \lor \neg \left(\pi \cdot \ell \le 2.239791605529511 \cdot 10^{144}\right):\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{1}{\frac{F}{\sqrt[3]{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt[3]{1}}}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\\ \end{array}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\begin{array}{l}
\mathbf{if}\;\pi \cdot \ell \le -1.4341891400844817 \cdot 10^{161} \lor \neg \left(\pi \cdot \ell \le 2.239791605529511 \cdot 10^{144}\right):\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{1}{\frac{F}{\sqrt[3]{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt[3]{1}}}\\

\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\\

\end{array}
double f(double F, double l) {
        double r18968 = atan2(1.0, 0.0);
        double r18969 = l;
        double r18970 = r18968 * r18969;
        double r18971 = 1.0;
        double r18972 = F;
        double r18973 = r18972 * r18972;
        double r18974 = r18971 / r18973;
        double r18975 = tan(r18970);
        double r18976 = r18974 * r18975;
        double r18977 = r18970 - r18976;
        return r18977;
}

double f(double F, double l) {
        double r18978 = atan2(1.0, 0.0);
        double r18979 = l;
        double r18980 = r18978 * r18979;
        double r18981 = -1.4341891400844817e+161;
        bool r18982 = r18980 <= r18981;
        double r18983 = 2.239791605529511e+144;
        bool r18984 = r18980 <= r18983;
        double r18985 = !r18984;
        bool r18986 = r18982 || r18985;
        double r18987 = 1.0;
        double r18988 = cbrt(r18987);
        double r18989 = r18988 * r18988;
        double r18990 = F;
        double r18991 = r18989 / r18990;
        double r18992 = 1.0;
        double r18993 = r18988 * r18980;
        double r18994 = r18990 / r18993;
        double r18995 = 0.3333333333333333;
        double r18996 = r18990 * r18980;
        double r18997 = r18996 / r18988;
        double r18998 = r18995 * r18997;
        double r18999 = r18994 - r18998;
        double r19000 = r18992 / r18999;
        double r19001 = r18991 * r19000;
        double r19002 = r18980 - r19001;
        double r19003 = sin(r18980);
        double r19004 = r19003 * r18988;
        double r19005 = 0.041666666666666664;
        double r19006 = 4.0;
        double r19007 = pow(r18978, r19006);
        double r19008 = r19005 * r19007;
        double r19009 = pow(r18979, r19006);
        double r19010 = 0.5;
        double r19011 = 2.0;
        double r19012 = pow(r18978, r19011);
        double r19013 = pow(r18979, r19011);
        double r19014 = r19012 * r19013;
        double r19015 = r19010 * r19014;
        double r19016 = r18992 - r19015;
        double r19017 = fma(r19008, r19009, r19016);
        double r19018 = r19017 * r18990;
        double r19019 = r19004 / r19018;
        double r19020 = r18991 * r19019;
        double r19021 = r18980 - r19020;
        double r19022 = r18986 ? r19002 : r19021;
        return r19022;
}

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 2 regimes
  2. if (* PI l) < -1.4341891400844817e+161 or 2.239791605529511e+144 < (* PI l)

    1. Initial program 19.4

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt19.4

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    4. Applied times-frac19.4

      \[\leadsto \pi \cdot \ell - \color{blue}{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sqrt[3]{1}}{F}\right)} \cdot \tan \left(\pi \cdot \ell\right)\]
    5. Applied associate-*l*19.4

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \left(\frac{\sqrt[3]{1}}{F} \cdot \tan \left(\pi \cdot \ell\right)\right)}\]
    6. Taylor expanded around inf 19.4

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \color{blue}{\frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\cos \left(\pi \cdot \ell\right) \cdot F}}\]
    7. Using strategy rm
    8. Applied clear-num19.4

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \color{blue}{\frac{1}{\frac{\cos \left(\pi \cdot \ell\right) \cdot F}{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}}}\]
    9. Taylor expanded around 0 8.1

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{1}{\color{blue}{\frac{F}{\sqrt[3]{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt[3]{1}}}}\]

    if -1.4341891400844817e+161 < (* PI l) < 2.239791605529511e+144

    1. Initial program 15.8

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt15.8

      \[\leadsto \pi \cdot \ell - \frac{\color{blue}{\left(\sqrt[3]{1} \cdot \sqrt[3]{1}\right) \cdot \sqrt[3]{1}}}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    4. Applied times-frac15.9

      \[\leadsto \pi \cdot \ell - \color{blue}{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sqrt[3]{1}}{F}\right)} \cdot \tan \left(\pi \cdot \ell\right)\]
    5. Applied associate-*l*9.5

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \left(\frac{\sqrt[3]{1}}{F} \cdot \tan \left(\pi \cdot \ell\right)\right)}\]
    6. Taylor expanded around inf 9.4

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \color{blue}{\frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\cos \left(\pi \cdot \ell\right) \cdot F}}\]
    7. Taylor expanded around 0 4.2

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\color{blue}{\left(\left(\frac{1}{24} \cdot \left({\pi}^{4} \cdot {\ell}^{4}\right) + 1\right) - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right)} \cdot F}\]
    8. Simplified4.2

      \[\leadsto \pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\color{blue}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right)} \cdot F}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -1.4341891400844817 \cdot 10^{161} \lor \neg \left(\pi \cdot \ell \le 2.239791605529511 \cdot 10^{144}\right):\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{1}{\frac{F}{\sqrt[3]{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt[3]{1}}}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt[3]{1}}{\mathsf{fma}\left(\frac{1}{24} \cdot {\pi}^{4}, {\ell}^{4}, 1 - \frac{1}{2} \cdot \left({\pi}^{2} \cdot {\ell}^{2}\right)\right) \cdot F}\\ \end{array}\]

Reproduce

herbie shell --seed 2020083 +o rules:numerics
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  :precision binary64
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))