Average Error: 16.3 → 0.8
Time: 30.0s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \frac{\frac{1}{\frac{F}{\pi \cdot \ell} - \left(F \cdot \log \left(e^{\pi \cdot \ell}\right)\right) \cdot \frac{1}{3}}}{F}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\pi \cdot \ell - \frac{\frac{1}{\frac{F}{\pi \cdot \ell} - \left(F \cdot \log \left(e^{\pi \cdot \ell}\right)\right) \cdot \frac{1}{3}}}{F}
double f(double F, double l) {
        double r901831 = atan2(1.0, 0.0);
        double r901832 = l;
        double r901833 = r901831 * r901832;
        double r901834 = 1.0;
        double r901835 = F;
        double r901836 = r901835 * r901835;
        double r901837 = r901834 / r901836;
        double r901838 = tan(r901833);
        double r901839 = r901837 * r901838;
        double r901840 = r901833 - r901839;
        return r901840;
}

double f(double F, double l) {
        double r901841 = atan2(1.0, 0.0);
        double r901842 = l;
        double r901843 = r901841 * r901842;
        double r901844 = 1.0;
        double r901845 = F;
        double r901846 = r901845 / r901843;
        double r901847 = exp(r901843);
        double r901848 = log(r901847);
        double r901849 = r901845 * r901848;
        double r901850 = 0.3333333333333333;
        double r901851 = r901849 * r901850;
        double r901852 = r901846 - r901851;
        double r901853 = r901844 / r901852;
        double r901854 = r901853 / r901845;
        double r901855 = r901843 - r901854;
        return r901855;
}

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. Initial program 16.3

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

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

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

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

    \[\leadsto \pi \cdot \ell - \frac{\frac{1}{\color{blue}{\frac{F}{\pi \cdot \ell} - \frac{1}{3} \cdot \left(F \cdot \left(\pi \cdot \ell\right)\right)}}}{F}\]
  8. Using strategy rm
  9. Applied add-log-exp0.8

    \[\leadsto \pi \cdot \ell - \frac{\frac{1}{\frac{F}{\pi \cdot \ell} - \frac{1}{3} \cdot \left(F \cdot \color{blue}{\log \left(e^{\pi \cdot \ell}\right)}\right)}}{F}\]
  10. Final simplification0.8

    \[\leadsto \pi \cdot \ell - \frac{\frac{1}{\frac{F}{\pi \cdot \ell} - \left(F \cdot \log \left(e^{\pi \cdot \ell}\right)\right) \cdot \frac{1}{3}}}{F}\]

Reproduce

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