Average Error: 16.7 → 8.7
Time: 8.9s
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 -4.6380634062953026 \cdot 10^{154}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\left(\sqrt[3]{\sqrt{\pi}} \cdot \sqrt[3]{\sqrt{\pi}}\right) \cdot \ell\right)\right) \cdot F}\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 1.8434257583154768 \cdot 10^{144}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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}\right)\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\ \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 -4.6380634062953026 \cdot 10^{154}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\left(\sqrt[3]{\sqrt{\pi}} \cdot \sqrt[3]{\sqrt{\pi}}\right) \cdot \ell\right)\right) \cdot F}\right)\\

\mathbf{elif}\;\pi \cdot \ell \le 1.8434257583154768 \cdot 10^{144}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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}\right)\\

\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\

\end{array}
double f(double F, double l) {
        double r13971 = atan2(1.0, 0.0);
        double r13972 = l;
        double r13973 = r13971 * r13972;
        double r13974 = 1.0;
        double r13975 = F;
        double r13976 = r13975 * r13975;
        double r13977 = r13974 / r13976;
        double r13978 = tan(r13973);
        double r13979 = r13977 * r13978;
        double r13980 = r13973 - r13979;
        return r13980;
}

double f(double F, double l) {
        double r13981 = atan2(1.0, 0.0);
        double r13982 = l;
        double r13983 = r13981 * r13982;
        double r13984 = -4.6380634062953026e+154;
        bool r13985 = r13983 <= r13984;
        double r13986 = 1.0;
        double r13987 = F;
        double r13988 = r13986 / r13987;
        double r13989 = 1.0;
        double r13990 = sin(r13983);
        double r13991 = cbrt(r13981);
        double r13992 = r13991 * r13991;
        double r13993 = sqrt(r13981);
        double r13994 = cbrt(r13993);
        double r13995 = r13994 * r13994;
        double r13996 = r13995 * r13982;
        double r13997 = r13992 * r13996;
        double r13998 = cos(r13997);
        double r13999 = r13998 * r13987;
        double r14000 = r13990 / r13999;
        double r14001 = r13989 * r14000;
        double r14002 = r13988 * r14001;
        double r14003 = r13983 - r14002;
        double r14004 = 1.8434257583154768e+144;
        bool r14005 = r13983 <= r14004;
        double r14006 = 0.041666666666666664;
        double r14007 = 4.0;
        double r14008 = pow(r13981, r14007);
        double r14009 = r14006 * r14008;
        double r14010 = pow(r13982, r14007);
        double r14011 = 0.5;
        double r14012 = 2.0;
        double r14013 = pow(r13981, r14012);
        double r14014 = pow(r13982, r14012);
        double r14015 = r14013 * r14014;
        double r14016 = r14011 * r14015;
        double r14017 = r13986 - r14016;
        double r14018 = fma(r14009, r14010, r14017);
        double r14019 = r14018 * r13987;
        double r14020 = r13990 / r14019;
        double r14021 = r13989 * r14020;
        double r14022 = r13988 * r14021;
        double r14023 = r13983 - r14022;
        double r14024 = r13987 * r13987;
        double r14025 = r13989 / r14024;
        double r14026 = cbrt(r13983);
        double r14027 = r14026 * r14026;
        double r14028 = r14027 * r14026;
        double r14029 = tan(r14028);
        double r14030 = r14025 * r14029;
        double r14031 = r13983 - r14030;
        double r14032 = r14005 ? r14023 : r14031;
        double r14033 = r13985 ? r14003 : r14032;
        return r14033;
}

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 3 regimes
  2. if (* PI l) < -4.6380634062953026e+154

    1. Initial program 21.4

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied *-un-lft-identity21.4

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

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

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

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

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\color{blue}{\left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \sqrt[3]{\pi}\right)} \cdot \ell\right) \cdot F}\right)\]
    9. Applied associate-*l*21.4

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \color{blue}{\left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\pi} \cdot \ell\right)\right)} \cdot F}\right)\]
    10. Using strategy rm
    11. Applied add-sqr-sqrt21.4

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\color{blue}{\sqrt{\pi} \cdot \sqrt{\pi}}} \cdot \ell\right)\right) \cdot F}\right)\]
    12. Applied cbrt-prod21.4

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

    if -4.6380634062953026e+154 < (* PI l) < 1.8434257583154768e+144

    1. Initial program 14.8

      \[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
    2. Using strategy rm
    3. Applied *-un-lft-identity14.8

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

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

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

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

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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}\right)\]
    8. Simplified3.7

      \[\leadsto \pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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}\right)\]

    if 1.8434257583154768e+144 < (* PI l)

    1. Initial program 21.6

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

      \[\leadsto \pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \color{blue}{\left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification8.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -4.6380634062953026 \cdot 10^{154}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\left(\sqrt[3]{\sqrt{\pi}} \cdot \sqrt[3]{\sqrt{\pi}}\right) \cdot \ell\right)\right) \cdot F}\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 1.8434257583154768 \cdot 10^{144}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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}\right)\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\left(\sqrt[3]{\pi \cdot \ell} \cdot \sqrt[3]{\pi \cdot \ell}\right) \cdot \sqrt[3]{\pi \cdot \ell}\right)\\ \end{array}\]

Reproduce

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