Average Error: 16.7 → 8.5
Time: 21.3s
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 -5.453098658475609672248586104357606884188 \cdot 10^{161} \lor \neg \left(\pi \cdot \ell \le 2.743338952070097193707040862319909377212 \cdot 10^{146}\right):\\ \;\;\;\;\pi \cdot \ell - 1 \cdot \frac{\frac{\tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\pi} \cdot \ell\right)\right)}{F}}{F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - 1 \cdot \frac{\frac{\frac{\sin \left(\pi \cdot \ell\right)}{F}}{\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)}}{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 -5.453098658475609672248586104357606884188 \cdot 10^{161} \lor \neg \left(\pi \cdot \ell \le 2.743338952070097193707040862319909377212 \cdot 10^{146}\right):\\
\;\;\;\;\pi \cdot \ell - 1 \cdot \frac{\frac{\tan \left(\left(\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}\right) \cdot \left(\sqrt[3]{\pi} \cdot \ell\right)\right)}{F}}{F}\\

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

\end{array}
double f(double F, double l) {
        double r23392 = atan2(1.0, 0.0);
        double r23393 = l;
        double r23394 = r23392 * r23393;
        double r23395 = 1.0;
        double r23396 = F;
        double r23397 = r23396 * r23396;
        double r23398 = r23395 / r23397;
        double r23399 = tan(r23394);
        double r23400 = r23398 * r23399;
        double r23401 = r23394 - r23400;
        return r23401;
}

double f(double F, double l) {
        double r23402 = atan2(1.0, 0.0);
        double r23403 = l;
        double r23404 = r23402 * r23403;
        double r23405 = -5.45309865847561e+161;
        bool r23406 = r23404 <= r23405;
        double r23407 = 2.743338952070097e+146;
        bool r23408 = r23404 <= r23407;
        double r23409 = !r23408;
        bool r23410 = r23406 || r23409;
        double r23411 = 1.0;
        double r23412 = cbrt(r23402);
        double r23413 = r23412 * r23412;
        double r23414 = r23412 * r23403;
        double r23415 = r23413 * r23414;
        double r23416 = tan(r23415);
        double r23417 = F;
        double r23418 = r23416 / r23417;
        double r23419 = r23418 / r23417;
        double r23420 = r23411 * r23419;
        double r23421 = r23404 - r23420;
        double r23422 = sin(r23404);
        double r23423 = r23422 / r23417;
        double r23424 = 0.041666666666666664;
        double r23425 = 4.0;
        double r23426 = pow(r23402, r23425);
        double r23427 = pow(r23403, r23425);
        double r23428 = r23426 * r23427;
        double r23429 = r23424 * r23428;
        double r23430 = 1.0;
        double r23431 = r23429 + r23430;
        double r23432 = 0.5;
        double r23433 = 2.0;
        double r23434 = pow(r23402, r23433);
        double r23435 = pow(r23403, r23433);
        double r23436 = r23434 * r23435;
        double r23437 = r23432 * r23436;
        double r23438 = r23431 - r23437;
        double r23439 = r23423 / r23438;
        double r23440 = r23439 / r23417;
        double r23441 = r23411 * r23440;
        double r23442 = r23404 - r23441;
        double r23443 = r23410 ? r23421 : r23442;
        return r23443;
}

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) < -5.45309865847561e+161 or 2.743338952070097e+146 < (* PI l)

    1. Initial program 19.3

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

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

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

      \[\leadsto \pi \cdot \ell - 1 \cdot \color{blue}{\frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}}\]
    6. Using strategy rm
    7. Applied add-cube-cbrt19.3

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

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

    if -5.45309865847561e+161 < (* PI l) < 2.743338952070097e+146

    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 div-inv15.8

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

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

      \[\leadsto \pi \cdot \ell - 1 \cdot \color{blue}{\frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}}\]
    6. Using strategy rm
    7. Applied div-inv10.2

      \[\leadsto \pi \cdot \ell - 1 \cdot \frac{\color{blue}{\tan \left(\pi \cdot \ell\right) \cdot \frac{1}{F}}}{F}\]
    8. Using strategy rm
    9. Applied tan-quot10.2

      \[\leadsto \pi \cdot \ell - 1 \cdot \frac{\color{blue}{\frac{\sin \left(\pi \cdot \ell\right)}{\cos \left(\pi \cdot \ell\right)}} \cdot \frac{1}{F}}{F}\]
    10. Applied associate-*l/10.2

      \[\leadsto \pi \cdot \ell - 1 \cdot \frac{\color{blue}{\frac{\sin \left(\pi \cdot \ell\right) \cdot \frac{1}{F}}{\cos \left(\pi \cdot \ell\right)}}}{F}\]
    11. Simplified10.2

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

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

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

Reproduce

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