Average Error: 16.0 → 7.9
Time: 4.4m
Precision: 64
Internal Precision: 2432
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\begin{array}{l} \mathbf{if}\;\ell \le -3.724350483518799 \cdot 10^{+27}:\\ \;\;\;\;\pi \cdot \ell - \left(\sqrt[3]{F \cdot \frac{\sin \left(\frac{\pi}{\ell}\right)}{\cos \left(\frac{\pi}{\ell}\right)}} \cdot \frac{\sqrt[3]{\frac{\tan \left(\pi \cdot \ell\right)}{F}}}{F}\right) \cdot \sqrt[3]{\frac{\tan \left(\pi \cdot \ell\right)}{F}}\\ \mathbf{if}\;\ell \le 1.1221113420603007 \cdot 10^{+89}:\\ \;\;\;\;\ell \cdot \pi - \frac{\frac{\tan \left(\ell \cdot \pi\right)}{F}}{F}\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell - \left(\sqrt[3]{F \cdot \frac{\sin \left(\frac{\pi}{\ell}\right)}{\cos \left(\frac{\pi}{\ell}\right)}} \cdot \frac{\sqrt[3]{\frac{\tan \left(\pi \cdot \ell\right)}{F}}}{F}\right) \cdot \sqrt[3]{\frac{\tan \left(\pi \cdot \ell\right)}{F}}\\ \end{array}\]

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 2 regimes
  2. if l < -3.724350483518799e+27 or 1.1221113420603007e+89 < l

    1. Initial program 21.8

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

      \[\leadsto \color{blue}{\ell \cdot \pi - \frac{\tan \left(\ell \cdot \pi\right)}{F \cdot F}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity21.8

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

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

      \[\leadsto \ell \cdot \pi - \frac{1}{F} \cdot \color{blue}{\left(\left(\sqrt[3]{\frac{\tan \left(\ell \cdot \pi\right)}{F}} \cdot \sqrt[3]{\frac{\tan \left(\ell \cdot \pi\right)}{F}}\right) \cdot \sqrt[3]{\frac{\tan \left(\ell \cdot \pi\right)}{F}}\right)}\]
    8. Taylor expanded around -inf 51.8

      \[\leadsto \ell \cdot \pi - \frac{1}{F} \cdot \left(\left(\sqrt[3]{\frac{\tan \left(\ell \cdot \pi\right)}{F}} \cdot \sqrt[3]{\frac{\tan \left(\ell \cdot \pi\right)}{F}}\right) \cdot \color{blue}{e^{\frac{1}{3} \cdot \left(\log \left(-1 \cdot \frac{\sin \left(-1 \cdot \frac{\pi}{\ell}\right)}{\cos \left(-1 \cdot \frac{\pi}{\ell}\right)}\right) + \log F\right)}}\right)\]
    9. Applied simplify12.3

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

    if -3.724350483518799e+27 < l < 1.1221113420603007e+89

    1. Initial program 11.3

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

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

      \[\leadsto \ell \cdot \pi - \color{blue}{\frac{\frac{\tan \left(\ell \cdot \pi\right)}{F}}{F}}\]
  3. Recombined 2 regimes into one program.
  4. Removed slow pow expressions.

Runtime

Time bar (total: 4.4m)Debug log

herbie shell --seed '#(1567391828 2030694642 2833800258 828025724 3004380912 3532991858)' +o setup:early-exit +o reduce:binary-search
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))