Average Error: 16.5 → 9.1
Time: 30.8s
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 -8.659932407972988 \cdot 10^{+22}:\\ \;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\ \mathbf{elif}\;\pi \cdot \ell \le 1.3394936946479616 \cdot 10^{-06}:\\ \;\;\;\;\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{\sqrt[3]{F}} \cdot \frac{1}{\sqrt[3]{F} \cdot \sqrt[3]{F}}}{F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\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 -8.659932407972988 \cdot 10^{+22}:\\
\;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\

\mathbf{elif}\;\pi \cdot \ell \le 1.3394936946479616 \cdot 10^{-06}:\\
\;\;\;\;\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{\sqrt[3]{F}} \cdot \frac{1}{\sqrt[3]{F} \cdot \sqrt[3]{F}}}{F}\\

\mathbf{else}:\\
\;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\

\end{array}
double f(double F, double l) {
        double r914207 = atan2(1.0, 0.0);
        double r914208 = l;
        double r914209 = r914207 * r914208;
        double r914210 = 1.0;
        double r914211 = F;
        double r914212 = r914211 * r914211;
        double r914213 = r914210 / r914212;
        double r914214 = tan(r914209);
        double r914215 = r914213 * r914214;
        double r914216 = r914209 - r914215;
        return r914216;
}

double f(double F, double l) {
        double r914217 = atan2(1.0, 0.0);
        double r914218 = l;
        double r914219 = r914217 * r914218;
        double r914220 = -8.659932407972988e+22;
        bool r914221 = r914219 <= r914220;
        double r914222 = tan(r914219);
        double r914223 = F;
        double r914224 = r914222 / r914223;
        double r914225 = /* ERROR: no posit support in C */;
        double r914226 = /* ERROR: no posit support in C */;
        double r914227 = r914226 / r914223;
        double r914228 = r914219 - r914227;
        double r914229 = 1.3394936946479616e-06;
        bool r914230 = r914219 <= r914229;
        double r914231 = cbrt(r914223);
        double r914232 = r914222 / r914231;
        double r914233 = 1.0;
        double r914234 = r914231 * r914231;
        double r914235 = r914233 / r914234;
        double r914236 = r914232 * r914235;
        double r914237 = r914236 / r914223;
        double r914238 = r914219 - r914237;
        double r914239 = r914230 ? r914238 : r914228;
        double r914240 = r914221 ? r914228 : r914239;
        return r914240;
}

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 2 regimes
  2. if (* PI l) < -8.659932407972988e+22 or 1.3394936946479616e-06 < (* PI l)

    1. Initial program 23.5

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

      \[\leadsto \color{blue}{\pi \cdot \ell - \frac{\tan \left(\pi \cdot \ell\right)}{F \cdot F}}\]
    3. Using strategy rm
    4. Applied associate-/r*23.5

      \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}}\]
    5. Using strategy rm
    6. Applied insert-posit1616.4

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

    if -8.659932407972988e+22 < (* PI l) < 1.3394936946479616e-06

    1. Initial program 9.1

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

      \[\leadsto \color{blue}{\pi \cdot \ell - \frac{\tan \left(\pi \cdot \ell\right)}{F \cdot F}}\]
    3. Using strategy rm
    4. Applied associate-/r*0.9

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

      \[\leadsto \pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{\color{blue}{\left(\sqrt[3]{F} \cdot \sqrt[3]{F}\right) \cdot \sqrt[3]{F}}}}{F}\]
    7. Applied *-un-lft-identity1.3

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -8.659932407972988 \cdot 10^{+22}:\\ \;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\ \mathbf{elif}\;\pi \cdot \ell \le 1.3394936946479616 \cdot 10^{-06}:\\ \;\;\;\;\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{\sqrt[3]{F}} \cdot \frac{1}{\sqrt[3]{F} \cdot \sqrt[3]{F}}}{F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \frac{\left(\left(\frac{\tan \left(\pi \cdot \ell\right)}{F}\right)\right)}{F}\\ \end{array}\]

Reproduce

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