Average Error: 16.6 → 5.2
Time: 9.4s
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 -2.85995220426127499 \cdot 10^{158} \lor \neg \left(\pi \cdot \ell \le 3.0108891228785767 \cdot 10^{145}\right):\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{1}{\frac{F}{\sqrt{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt{1}}}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt{1}}{\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}\\ \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 -2.85995220426127499 \cdot 10^{158} \lor \neg \left(\pi \cdot \ell \le 3.0108891228785767 \cdot 10^{145}\right):\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{1}{\frac{F}{\sqrt{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt{1}}}\\

\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt{1}}{\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}\\

\end{array}
double f(double F, double l) {
        double r19029 = atan2(1.0, 0.0);
        double r19030 = l;
        double r19031 = r19029 * r19030;
        double r19032 = 1.0;
        double r19033 = F;
        double r19034 = r19033 * r19033;
        double r19035 = r19032 / r19034;
        double r19036 = tan(r19031);
        double r19037 = r19035 * r19036;
        double r19038 = r19031 - r19037;
        return r19038;
}

double f(double F, double l) {
        double r19039 = atan2(1.0, 0.0);
        double r19040 = l;
        double r19041 = r19039 * r19040;
        double r19042 = -2.859952204261275e+158;
        bool r19043 = r19041 <= r19042;
        double r19044 = 3.0108891228785767e+145;
        bool r19045 = r19041 <= r19044;
        double r19046 = !r19045;
        bool r19047 = r19043 || r19046;
        double r19048 = 1.0;
        double r19049 = sqrt(r19048);
        double r19050 = F;
        double r19051 = r19049 / r19050;
        double r19052 = 1.0;
        double r19053 = r19049 * r19041;
        double r19054 = r19050 / r19053;
        double r19055 = 0.3333333333333333;
        double r19056 = r19050 * r19041;
        double r19057 = r19056 / r19049;
        double r19058 = r19055 * r19057;
        double r19059 = r19054 - r19058;
        double r19060 = r19052 / r19059;
        double r19061 = r19051 * r19060;
        double r19062 = r19041 - r19061;
        double r19063 = sin(r19041);
        double r19064 = r19063 * r19049;
        double r19065 = 0.041666666666666664;
        double r19066 = 4.0;
        double r19067 = pow(r19039, r19066);
        double r19068 = pow(r19040, r19066);
        double r19069 = r19067 * r19068;
        double r19070 = r19065 * r19069;
        double r19071 = r19070 + r19052;
        double r19072 = 0.5;
        double r19073 = 2.0;
        double r19074 = pow(r19039, r19073);
        double r19075 = pow(r19040, r19073);
        double r19076 = r19074 * r19075;
        double r19077 = r19072 * r19076;
        double r19078 = r19071 - r19077;
        double r19079 = r19078 * r19050;
        double r19080 = r19064 / r19079;
        double r19081 = r19051 * r19080;
        double r19082 = r19041 - r19081;
        double r19083 = r19047 ? r19062 : r19082;
        return r19083;
}

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 2 regimes
  2. if (* PI l) < -2.859952204261275e+158 or 3.0108891228785767e+145 < (* PI l)

    1. Initial program 20.1

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

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

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

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

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

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

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

    if -2.859952204261275e+158 < (* PI l) < 3.0108891228785767e+145

    1. Initial program 15.2

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

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

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

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

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

      \[\leadsto \pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt{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}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification5.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -2.85995220426127499 \cdot 10^{158} \lor \neg \left(\pi \cdot \ell \le 3.0108891228785767 \cdot 10^{145}\right):\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{1}{\frac{F}{\sqrt{1} \cdot \left(\pi \cdot \ell\right)} - \frac{1}{3} \cdot \frac{F \cdot \left(\pi \cdot \ell\right)}{\sqrt{1}}}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \frac{\sin \left(\pi \cdot \ell\right) \cdot \sqrt{1}}{\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}\\ \end{array}\]

Reproduce

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