Average Error: 39.3 → 0.4
Time: 2.9m
Precision: 64
Internal Precision: 1408
\[e^{x} - 1\]
↓
\[\begin{array}{l}
\mathbf{if}\;e^{x} - 1 \le -4.219088929316808 \cdot 10^{-05}:\\
\;\;\;\;\frac{\frac{{\left(e^{x + x}\right)}^{3} - 1}{{\left(e^{x}\right)}^{3} + 1}}{e^{x + x} + \left(e^{x} + 1\right)}\\
\mathbf{else}:\\
\;\;\;\;x + \left(x \cdot x\right) \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot x\right)\\
\end{array}\]
Derivation
- Split input into 2 regimes
if (- (exp x) 1) < -4.219088929316808e-05
Initial program 0.1
\[e^{x} - 1\]
- Using strategy
rm Applied flip3--0.1
\[\leadsto \color{blue}{\frac{{\left(e^{x}\right)}^{3} - {1}^{3}}{e^{x} \cdot e^{x} + \left(1 \cdot 1 + e^{x} \cdot 1\right)}}\]
Applied simplify0.1
\[\leadsto \frac{\color{blue}{{\left(e^{x}\right)}^{3} - 1}}{e^{x} \cdot e^{x} + \left(1 \cdot 1 + e^{x} \cdot 1\right)}\]
Applied simplify0.1
\[\leadsto \frac{{\left(e^{x}\right)}^{3} - 1}{\color{blue}{e^{x + x} + \left(e^{x} + 1\right)}}\]
- Using strategy
rm Applied flip--0.1
\[\leadsto \frac{\color{blue}{\frac{{\left(e^{x}\right)}^{3} \cdot {\left(e^{x}\right)}^{3} - 1 \cdot 1}{{\left(e^{x}\right)}^{3} + 1}}}{e^{x + x} + \left(e^{x} + 1\right)}\]
Applied simplify0.1
\[\leadsto \frac{\frac{\color{blue}{{\left(e^{x + x}\right)}^{3} - 1}}{{\left(e^{x}\right)}^{3} + 1}}{e^{x + x} + \left(e^{x} + 1\right)}\]
if -4.219088929316808e-05 < (- (exp x) 1)
Initial program 58.6
\[e^{x} - 1\]
Taylor expanded around 0 0.5
\[\leadsto \color{blue}{\frac{1}{2} \cdot {x}^{2} + \left(\frac{1}{6} \cdot {x}^{3} + x\right)}\]
Applied simplify0.5
\[\leadsto \color{blue}{x + \left(x \cdot x\right) \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot x\right)}\]
- Recombined 2 regimes into one program.
Runtime
herbie shell --seed '#(1743936871 1855164119 3668777427 1254258049 132811564 1366975197)'
(FPCore (x)
:name "NMSE example 3.7"
(- (exp x) 1))