Average Error: 16.9 → 1.6
Time: 2.0m
Precision: 64
Internal Precision: 3456
\[\pi \cdot \ell - \frac{1}{F \cdot F} \cdot \tan \left(\pi \cdot \ell\right)\]
\[\begin{array}{l} \mathbf{if}\;\pi \cdot \ell \le -2.079227609016908 \cdot 10^{+40}:\\ \;\;\;\;\pi \cdot \ell\\ \mathbf{if}\;\pi \cdot \ell \le 2.5928915341072847 \cdot 10^{-12}:\\ \;\;\;\;(\left(\frac{\sqrt[3]{\frac{-1}{F}} \cdot \sqrt[3]{\frac{-1}{F}}}{\frac{F}{\tan \left(\pi \cdot \ell\right)}}\right) \cdot \left(\sqrt[3]{\frac{-1}{F}}\right) + \left(\pi \cdot \ell\right))_*\\ \mathbf{else}:\\ \;\;\;\;\pi \cdot \ell\\ \end{array}\]

Error

Bits error versus F

Bits error versus l

Derivation

  1. Split input into 2 regimes
  2. if (* PI l) < -2.079227609016908e+40 or 2.5928915341072847e-12 < (* PI l)

    1. Initial program 23.1

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

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

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

      \[\leadsto (\left(\tan \left(\ell \cdot \pi\right)\right) \cdot \left(\frac{\color{blue}{\left(\sqrt[3]{\frac{-1}{F}} \cdot \sqrt[3]{\frac{-1}{F}}\right) \cdot \sqrt[3]{\frac{-1}{F}}}}{F}\right) + \left(\ell \cdot \pi\right))_*\]
    7. Applied associate-/l*23.1

      \[\leadsto (\left(\tan \left(\ell \cdot \pi\right)\right) \cdot \color{blue}{\left(\frac{\sqrt[3]{\frac{-1}{F}} \cdot \sqrt[3]{\frac{-1}{F}}}{\frac{F}{\sqrt[3]{\frac{-1}{F}}}}\right)} + \left(\ell \cdot \pi\right))_*\]
    8. Taylor expanded around 0 1.0

      \[\leadsto \color{blue}{\pi \cdot \ell}\]

    if -2.079227609016908e+40 < (* PI l) < 2.5928915341072847e-12

    1. Initial program 10.5

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

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

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

      \[\leadsto (\left(\tan \left(\ell \cdot \pi\right)\right) \cdot \left(\frac{\color{blue}{\left(\sqrt[3]{\frac{-1}{F}} \cdot \sqrt[3]{\frac{-1}{F}}\right) \cdot \sqrt[3]{\frac{-1}{F}}}}{F}\right) + \left(\ell \cdot \pi\right))_*\]
    7. Applied associate-/l*10.7

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

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

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

Runtime

Time bar (total: 2.0m)Debug logProfile

herbie shell --seed '#(1070991898 1055468627 4280279443 640792587 928206309 3646738750)' +o rules:numerics
(FPCore (F l)
  :name "VandenBroeck and Keller, Equation (6)"
  (- (* PI l) (* (/ 1 (* F F)) (tan (* PI l)))))