Average Error: 29.3 → 9.0
Time: 6.0s
Precision: 64
\[e^{a \cdot x} - 1\]
\[\begin{array}{l} \mathbf{if}\;a \cdot x \le -1.9961401647367767 \cdot 10^{-21}:\\ \;\;\;\;\frac{\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \left({a}^{2} \cdot {x}^{2}\right) + \left(\frac{1}{6} \cdot \left({a}^{3} \cdot {x}^{3}\right) + a \cdot x\right)\\ \end{array}\]
e^{a \cdot x} - 1
\begin{array}{l}
\mathbf{if}\;a \cdot x \le -1.9961401647367767 \cdot 10^{-21}:\\
\;\;\;\;\frac{\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \left({a}^{2} \cdot {x}^{2}\right) + \left(\frac{1}{6} \cdot \left({a}^{3} \cdot {x}^{3}\right) + a \cdot x\right)\\

\end{array}
double f(double a, double x) {
        double r128681 = a;
        double r128682 = x;
        double r128683 = r128681 * r128682;
        double r128684 = exp(r128683);
        double r128685 = 1.0;
        double r128686 = r128684 - r128685;
        return r128686;
}

double f(double a, double x) {
        double r128687 = a;
        double r128688 = x;
        double r128689 = r128687 * r128688;
        double r128690 = -1.9961401647367767e-21;
        bool r128691 = r128689 <= r128690;
        double r128692 = exp(r128689);
        double r128693 = sqrt(r128692);
        double r128694 = 3.0;
        double r128695 = pow(r128693, r128694);
        double r128696 = 1.0;
        double r128697 = sqrt(r128696);
        double r128698 = pow(r128697, r128694);
        double r128699 = r128695 + r128698;
        double r128700 = r128693 - r128697;
        double r128701 = r128699 * r128700;
        double r128702 = r128692 * r128692;
        double r128703 = r128696 * r128696;
        double r128704 = r128702 - r128703;
        double r128705 = r128701 * r128704;
        double r128706 = cbrt(r128705);
        double r128707 = pow(r128692, r128694);
        double r128708 = pow(r128696, r128694);
        double r128709 = r128707 - r128708;
        double r128710 = cbrt(r128709);
        double r128711 = r128706 * r128710;
        double r128712 = r128693 * r128693;
        double r128713 = r128697 * r128697;
        double r128714 = r128693 * r128697;
        double r128715 = r128713 - r128714;
        double r128716 = r128712 + r128715;
        double r128717 = r128692 + r128696;
        double r128718 = r128716 * r128717;
        double r128719 = cbrt(r128718);
        double r128720 = r128692 * r128696;
        double r128721 = r128703 + r128720;
        double r128722 = r128702 + r128721;
        double r128723 = cbrt(r128722);
        double r128724 = r128719 * r128723;
        double r128725 = r128711 / r128724;
        double r128726 = 0.5;
        double r128727 = 2.0;
        double r128728 = pow(r128687, r128727);
        double r128729 = pow(r128688, r128727);
        double r128730 = r128728 * r128729;
        double r128731 = r128726 * r128730;
        double r128732 = 0.16666666666666666;
        double r128733 = pow(r128687, r128694);
        double r128734 = pow(r128688, r128694);
        double r128735 = r128733 * r128734;
        double r128736 = r128732 * r128735;
        double r128737 = r128736 + r128689;
        double r128738 = r128731 + r128737;
        double r128739 = r128691 ? r128725 : r128738;
        return r128739;
}

Error

Bits error versus a

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original29.3
Target0.2
Herbie9.0
\[\begin{array}{l} \mathbf{if}\;\left|a \cdot x\right| \lt 0.10000000000000001:\\ \;\;\;\;\left(a \cdot x\right) \cdot \left(1 + \left(\frac{a \cdot x}{2} + \frac{{\left(a \cdot x\right)}^{2}}{6}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;e^{a \cdot x} - 1\\ \end{array}\]

Derivation

  1. Split input into 2 regimes
  2. if (* a x) < -1.9961401647367767e-21

    1. Initial program 2.0

      \[e^{a \cdot x} - 1\]
    2. Using strategy rm
    3. Applied add-cbrt-cube2.0

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(e^{a \cdot x} - 1\right) \cdot \left(e^{a \cdot x} - 1\right)\right) \cdot \left(e^{a \cdot x} - 1\right)}}\]
    4. Simplified2.0

      \[\leadsto \sqrt[3]{\color{blue}{{\left(e^{a \cdot x} - 1\right)}^{3}}}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt2.0

      \[\leadsto \sqrt[3]{{\color{blue}{\left(\left(\sqrt[3]{e^{a \cdot x} - 1} \cdot \sqrt[3]{e^{a \cdot x} - 1}\right) \cdot \sqrt[3]{e^{a \cdot x} - 1}\right)}}^{3}}\]
    7. Simplified2.0

      \[\leadsto \sqrt[3]{{\left(\color{blue}{\sqrt[3]{\left(e^{a \cdot x} - 1\right) \cdot \left(e^{a \cdot x} - 1\right)}} \cdot \sqrt[3]{e^{a \cdot x} - 1}\right)}^{3}}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\left(e^{a \cdot x} - \color{blue}{\sqrt{1} \cdot \sqrt{1}}\right) \cdot \left(e^{a \cdot x} - 1\right)} \cdot \sqrt[3]{e^{a \cdot x} - 1}\right)}^{3}}\]
    10. Applied add-sqr-sqrt2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\left(\color{blue}{\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}}} - \sqrt{1} \cdot \sqrt{1}\right) \cdot \left(e^{a \cdot x} - 1\right)} \cdot \sqrt[3]{e^{a \cdot x} - 1}\right)}^{3}}\]
    11. Applied difference-of-squares2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{\left(\left(\sqrt{e^{a \cdot x}} + \sqrt{1}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right)} \cdot \left(e^{a \cdot x} - 1\right)} \cdot \sqrt[3]{e^{a \cdot x} - 1}\right)}^{3}}\]
    12. Using strategy rm
    13. Applied flip3--2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\left(\left(\sqrt{e^{a \cdot x}} + \sqrt{1}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} - 1\right)} \cdot \sqrt[3]{\color{blue}{\frac{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}}\right)}^{3}}\]
    14. Applied cbrt-div2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\left(\left(\sqrt{e^{a \cdot x}} + \sqrt{1}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} - 1\right)} \cdot \color{blue}{\frac{\sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}}\right)}^{3}}\]
    15. Applied flip--2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\left(\left(\sqrt{e^{a \cdot x}} + \sqrt{1}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \color{blue}{\frac{e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1}{e^{a \cdot x} + 1}}} \cdot \frac{\sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\right)}^{3}}\]
    16. Applied flip3-+2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\left(\color{blue}{\frac{{\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}}{\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)}} \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \frac{e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1}{e^{a \cdot x} + 1}} \cdot \frac{\sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\right)}^{3}}\]
    17. Applied associate-*l/2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{\frac{\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)}{\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)}} \cdot \frac{e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1}{e^{a \cdot x} + 1}} \cdot \frac{\sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\right)}^{3}}\]
    18. Applied frac-times2.0

      \[\leadsto \sqrt[3]{{\left(\sqrt[3]{\color{blue}{\frac{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)}{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)}}} \cdot \frac{\sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\right)}^{3}}\]
    19. Applied cbrt-div2.0

      \[\leadsto \sqrt[3]{{\left(\color{blue}{\frac{\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)}}{\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)}}} \cdot \frac{\sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\right)}^{3}}\]
    20. Applied frac-times2.0

      \[\leadsto \sqrt[3]{{\color{blue}{\left(\frac{\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\right)}}^{3}}\]
    21. Applied cube-div2.0

      \[\leadsto \sqrt[3]{\color{blue}{\frac{{\left(\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}\right)}^{3}}{{\left(\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}\right)}^{3}}}}\]
    22. Applied cbrt-div2.0

      \[\leadsto \color{blue}{\frac{\sqrt[3]{{\left(\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}\right)}^{3}}}{\sqrt[3]{{\left(\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}\right)}^{3}}}}\]
    23. Simplified2.0

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}}{\sqrt[3]{{\left(\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}\right)}^{3}}}\]
    24. Simplified2.0

      \[\leadsto \frac{\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\color{blue}{\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}}\]

    if -1.9961401647367767e-21 < (* a x)

    1. Initial program 44.5

      \[e^{a \cdot x} - 1\]
    2. Using strategy rm
    3. Applied add-cbrt-cube44.6

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(e^{a \cdot x} - 1\right) \cdot \left(e^{a \cdot x} - 1\right)\right) \cdot \left(e^{a \cdot x} - 1\right)}}\]
    4. Simplified44.6

      \[\leadsto \sqrt[3]{\color{blue}{{\left(e^{a \cdot x} - 1\right)}^{3}}}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt44.6

      \[\leadsto \sqrt[3]{{\color{blue}{\left(\left(\sqrt[3]{e^{a \cdot x} - 1} \cdot \sqrt[3]{e^{a \cdot x} - 1}\right) \cdot \sqrt[3]{e^{a \cdot x} - 1}\right)}}^{3}}\]
    7. Simplified44.6

      \[\leadsto \sqrt[3]{{\left(\color{blue}{\sqrt[3]{\left(e^{a \cdot x} - 1\right) \cdot \left(e^{a \cdot x} - 1\right)}} \cdot \sqrt[3]{e^{a \cdot x} - 1}\right)}^{3}}\]
    8. Taylor expanded around 0 13.0

      \[\leadsto \color{blue}{\frac{1}{2} \cdot \left({a}^{2} \cdot {x}^{2}\right) + \left(\frac{1}{6} \cdot \left({a}^{3} \cdot {x}^{3}\right) + a \cdot x\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification9.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;a \cdot x \le -1.9961401647367767 \cdot 10^{-21}:\\ \;\;\;\;\frac{\sqrt[3]{\left(\left({\left(\sqrt{e^{a \cdot x}}\right)}^{3} + {\left(\sqrt{1}\right)}^{3}\right) \cdot \left(\sqrt{e^{a \cdot x}} - \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} \cdot e^{a \cdot x} - 1 \cdot 1\right)} \cdot \sqrt[3]{{\left(e^{a \cdot x}\right)}^{3} - {1}^{3}}}{\sqrt[3]{\left(\sqrt{e^{a \cdot x}} \cdot \sqrt{e^{a \cdot x}} + \left(\sqrt{1} \cdot \sqrt{1} - \sqrt{e^{a \cdot x}} \cdot \sqrt{1}\right)\right) \cdot \left(e^{a \cdot x} + 1\right)} \cdot \sqrt[3]{e^{a \cdot x} \cdot e^{a \cdot x} + \left(1 \cdot 1 + e^{a \cdot x} \cdot 1\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{2} \cdot \left({a}^{2} \cdot {x}^{2}\right) + \left(\frac{1}{6} \cdot \left({a}^{3} \cdot {x}^{3}\right) + a \cdot x\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020057 
(FPCore (a x)
  :name "expax (section 3.5)"
  :precision binary64
  :herbie-expected 14

  :herbie-target
  (if (< (fabs (* a x)) 0.1) (* (* a x) (+ 1 (+ (/ (* a x) 2) (/ (pow (* a x) 2) 6)))) (- (exp (* a x)) 1))

  (- (exp (* a x)) 1))