Average Error: 16.7 → 9.2
Time: 8.6s
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.011948691715024543580909495142699086666 \cdot 10^{169}:\\ \;\;\;\;\pi \cdot \ell - \left(\sqrt{\frac{1}{F \cdot F}} \cdot \sqrt{\frac{1}{F \cdot F}}\right) \cdot \tan \left(\pi \cdot \ell\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 2.691706907806316542182290270953314062387 \cdot 10^{133}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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)\\ \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 -1.011948691715024543580909495142699086666 \cdot 10^{169}:\\
\;\;\;\;\pi \cdot \ell - \left(\sqrt{\frac{1}{F \cdot F}} \cdot \sqrt{\frac{1}{F \cdot F}}\right) \cdot \tan \left(\pi \cdot \ell\right)\\

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

\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 r12997 = atan2(1.0, 0.0);
        double r12998 = l;
        double r12999 = r12997 * r12998;
        double r13000 = 1.0;
        double r13001 = F;
        double r13002 = r13001 * r13001;
        double r13003 = r13000 / r13002;
        double r13004 = tan(r12999);
        double r13005 = r13003 * r13004;
        double r13006 = r12999 - r13005;
        return r13006;
}

double f(double F, double l) {
        double r13007 = atan2(1.0, 0.0);
        double r13008 = l;
        double r13009 = r13007 * r13008;
        double r13010 = -1.0119486917150245e+169;
        bool r13011 = r13009 <= r13010;
        double r13012 = 1.0;
        double r13013 = F;
        double r13014 = r13013 * r13013;
        double r13015 = r13012 / r13014;
        double r13016 = sqrt(r13015);
        double r13017 = r13016 * r13016;
        double r13018 = tan(r13009);
        double r13019 = r13017 * r13018;
        double r13020 = r13009 - r13019;
        double r13021 = 2.6917069078063165e+133;
        bool r13022 = r13009 <= r13021;
        double r13023 = 1.0;
        double r13024 = r13023 / r13013;
        double r13025 = sin(r13009);
        double r13026 = 0.041666666666666664;
        double r13027 = 4.0;
        double r13028 = pow(r13007, r13027);
        double r13029 = pow(r13008, r13027);
        double r13030 = r13028 * r13029;
        double r13031 = r13026 * r13030;
        double r13032 = r13031 + r13023;
        double r13033 = 0.5;
        double r13034 = 2.0;
        double r13035 = pow(r13007, r13034);
        double r13036 = pow(r13008, r13034);
        double r13037 = r13035 * r13036;
        double r13038 = r13033 * r13037;
        double r13039 = r13032 - r13038;
        double r13040 = r13039 * r13013;
        double r13041 = r13025 / r13040;
        double r13042 = r13012 * r13041;
        double r13043 = r13024 * r13042;
        double r13044 = r13009 - r13043;
        double r13045 = cbrt(r13009);
        double r13046 = r13045 * r13045;
        double r13047 = r13046 * r13045;
        double r13048 = tan(r13047);
        double r13049 = r13015 * r13048;
        double r13050 = r13009 - r13049;
        double r13051 = r13022 ? r13044 : r13050;
        double r13052 = r13011 ? r13020 : r13051;
        return r13052;
}

Error

Bits error versus F

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

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

    1. Initial program 20.0

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

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

    if -1.0119486917150245e+169 < (* PI l) < 2.6917069078063165e+133

    1. Initial program 15.0

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

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

      \[\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.5

      \[\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.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. Taylor expanded around 0 4.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)\]

    if 2.6917069078063165e+133 < (* 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 simplification9.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -1.011948691715024543580909495142699086666 \cdot 10^{169}:\\ \;\;\;\;\pi \cdot \ell - \left(\sqrt{\frac{1}{F \cdot F}} \cdot \sqrt{\frac{1}{F \cdot F}}\right) \cdot \tan \left(\pi \cdot \ell\right)\\ \mathbf{elif}\;\pi \cdot \ell \le 2.691706907806316542182290270953314062387 \cdot 10^{133}:\\ \;\;\;\;\pi \cdot \ell - \frac{1}{F} \cdot \left(1 \cdot \frac{\sin \left(\pi \cdot \ell\right)}{\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)\\ \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 2020001 
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  :precision binary64
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))