Average Error: 16.6 → 12.4
Time: 28.1s
Precision: 64
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\pi \cdot \ell - \left(\tan \left(\sqrt{\pi} \cdot \left(\ell \cdot \left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right)\right)\right) \cdot \frac{\sqrt{1}}{F}\right) \cdot \frac{\sqrt{1}}{F}\]
\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)
\pi \cdot \ell - \left(\tan \left(\sqrt{\pi} \cdot \left(\ell \cdot \left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right)\right)\right) \cdot \frac{\sqrt{1}}{F}\right) \cdot \frac{\sqrt{1}}{F}
double f(double F, double l) {
        double r946384 = atan2(1.0, 0.0);
        double r946385 = l;
        double r946386 = r946384 * r946385;
        double r946387 = 1.0;
        double r946388 = F;
        double r946389 = r946388 * r946388;
        double r946390 = r946387 / r946389;
        double r946391 = tan(r946386);
        double r946392 = r946390 * r946391;
        double r946393 = r946386 - r946392;
        return r946393;
}

double f(double F, double l) {
        double r946394 = atan2(1.0, 0.0);
        double r946395 = l;
        double r946396 = r946394 * r946395;
        double r946397 = sqrt(r946394);
        double r946398 = sqrt(r946397);
        double r946399 = r946398 * r946398;
        double r946400 = r946395 * r946399;
        double r946401 = r946397 * r946400;
        double r946402 = tan(r946401);
        double r946403 = 1.0;
        double r946404 = sqrt(r946403);
        double r946405 = F;
        double r946406 = r946404 / r946405;
        double r946407 = r946402 * r946406;
        double r946408 = r946407 * r946406;
        double r946409 = r946396 - r946408;
        return r946409;
}

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.6

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

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

    \[\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*12.4

    \[\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. Using strategy rm
  7. Applied add-sqr-sqrt12.5

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

    \[\leadsto \pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \left(\frac{\sqrt{1}}{F} \cdot \tan \color{blue}{\left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \ell\right)\right)}\right)\]
  9. Using strategy rm
  10. Applied add-sqr-sqrt12.5

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

    \[\leadsto \pi \cdot \ell - \frac{\sqrt{1}}{F} \cdot \left(\frac{\sqrt{1}}{F} \cdot \tan \left(\sqrt{\pi} \cdot \left(\color{blue}{\left(\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}\right)} \cdot \ell\right)\right)\right)\]
  12. Final simplification12.4

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

Reproduce

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