Average Error: 9.0 → 0.7
Time: 41.7s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\pi \cdot \ell - \frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}
double f(double F, double l) {
        double r578875 = atan2(1.0, 0.0);
        double r578876 = l;
        double r578877 = r578875 * r578876;
        double r578878 = 1.0;
        double r578879 = F;
        double r578880 = r578879 * r578879;
        double r578881 = r578878 / r578880;
        double r578882 = tan(r578877);
        double r578883 = r578881 * r578882;
        double r578884 = r578877 - r578883;
        return r578884;
}

double f(double F, double l) {
        double r578885 = atan2(1.0, 0.0);
        double r578886 = l;
        double r578887 = r578885 * r578886;
        double r578888 = tan(r578887);
        double r578889 = F;
        double r578890 = r578888 / r578889;
        double r578891 = r578890 / r578889;
        double r578892 = r578887 - r578891;
        return r578892;
}

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 9.0

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

    \[\leadsto \pi \cdot \ell - \color{blue}{\frac{\frac{\tan \left(\pi \cdot \ell\right)}{F}}{F}}\]
  5. Final simplification0.7

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

Reproduce

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