Average Error: 29.1 → 0.2
Time: 7.1s
Precision: 64
\[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\]
\[\begin{array}{l} \mathbf{if}\;x \le -1.147765270182274 \lor \neg \left(x \le 1.1589205875478283\right):\\ \;\;\;\;\frac{0.5}{x} + \left(\frac{0.1529819634592933}{{x}^{5}} + \frac{0.25141790006653753}{{x}^{3}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(1 \cdot x + 0.265709700396150994 \cdot {x}^{5}\right) - 0.66655360720000001 \cdot {x}^{3}\\ \end{array}\]
\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x
\begin{array}{l}
\mathbf{if}\;x \le -1.147765270182274 \lor \neg \left(x \le 1.1589205875478283\right):\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.1529819634592933}{{x}^{5}} + \frac{0.25141790006653753}{{x}^{3}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(1 \cdot x + 0.265709700396150994 \cdot {x}^{5}\right) - 0.66655360720000001 \cdot {x}^{3}\\

\end{array}
double f(double x) {
        double r164612 = 1.0;
        double r164613 = 0.1049934947;
        double r164614 = x;
        double r164615 = r164614 * r164614;
        double r164616 = r164613 * r164615;
        double r164617 = r164612 + r164616;
        double r164618 = 0.0424060604;
        double r164619 = r164615 * r164615;
        double r164620 = r164618 * r164619;
        double r164621 = r164617 + r164620;
        double r164622 = 0.0072644182;
        double r164623 = r164619 * r164615;
        double r164624 = r164622 * r164623;
        double r164625 = r164621 + r164624;
        double r164626 = 0.0005064034;
        double r164627 = r164623 * r164615;
        double r164628 = r164626 * r164627;
        double r164629 = r164625 + r164628;
        double r164630 = 0.0001789971;
        double r164631 = r164627 * r164615;
        double r164632 = r164630 * r164631;
        double r164633 = r164629 + r164632;
        double r164634 = 0.7715471019;
        double r164635 = r164634 * r164615;
        double r164636 = r164612 + r164635;
        double r164637 = 0.2909738639;
        double r164638 = r164637 * r164619;
        double r164639 = r164636 + r164638;
        double r164640 = 0.0694555761;
        double r164641 = r164640 * r164623;
        double r164642 = r164639 + r164641;
        double r164643 = 0.0140005442;
        double r164644 = r164643 * r164627;
        double r164645 = r164642 + r164644;
        double r164646 = 0.0008327945;
        double r164647 = r164646 * r164631;
        double r164648 = r164645 + r164647;
        double r164649 = 2.0;
        double r164650 = r164649 * r164630;
        double r164651 = r164631 * r164615;
        double r164652 = r164650 * r164651;
        double r164653 = r164648 + r164652;
        double r164654 = r164633 / r164653;
        double r164655 = r164654 * r164614;
        return r164655;
}

double f(double x) {
        double r164656 = x;
        double r164657 = -1.147765270182274;
        bool r164658 = r164656 <= r164657;
        double r164659 = 1.1589205875478283;
        bool r164660 = r164656 <= r164659;
        double r164661 = !r164660;
        bool r164662 = r164658 || r164661;
        double r164663 = 0.5;
        double r164664 = r164663 / r164656;
        double r164665 = 0.15298196345929327;
        double r164666 = 5.0;
        double r164667 = pow(r164656, r164666);
        double r164668 = r164665 / r164667;
        double r164669 = 0.2514179000665375;
        double r164670 = 3.0;
        double r164671 = pow(r164656, r164670);
        double r164672 = r164669 / r164671;
        double r164673 = r164668 + r164672;
        double r164674 = r164664 + r164673;
        double r164675 = 1.0;
        double r164676 = r164675 * r164656;
        double r164677 = 0.265709700396151;
        double r164678 = r164677 * r164667;
        double r164679 = r164676 + r164678;
        double r164680 = 0.6665536072;
        double r164681 = r164680 * r164671;
        double r164682 = r164679 - r164681;
        double r164683 = r164662 ? r164674 : r164682;
        return r164683;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if x < -1.147765270182274 or 1.1589205875478283 < x

    1. Initial program 58.5

      \[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\]
    2. Simplified58.5

      \[\leadsto \color{blue}{\frac{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \left({x}^{6} \cdot 0.00726441819999999999 + \left(1 + \left(x \cdot x\right) \cdot \left(0.1049934947 + 0.042406060400000001 \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot x}{\left({x}^{6} \cdot 0.069455576099999999 + \left(\left(x \cdot x\right) \cdot \left(0.77154710189999998 + 0.29097386390000002 \cdot \left(x \cdot x\right)\right) + 1\right)\right) + \left(\left(2 \cdot {\left(x \cdot x\right)}^{6}\right) \cdot 1.789971 \cdot 10^{-4} + {\left(x \cdot x\right)}^{4} \cdot \left(0.014000544199999999 + \left(x \cdot x\right) \cdot 8.32794500000000044 \cdot 10^{-4}\right)\right)}}\]
    3. Taylor expanded around inf 0.4

      \[\leadsto \color{blue}{0.25141790006653753 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592933 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)}\]
    4. Simplified0.4

      \[\leadsto \color{blue}{\frac{0.5}{x} + \left(\frac{0.1529819634592933}{{x}^{5}} + \frac{0.25141790006653753}{{x}^{3}}\right)}\]

    if -1.147765270182274 < x < 1.1589205875478283

    1. Initial program 0.0

      \[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\]
    2. Simplified0.0

      \[\leadsto \color{blue}{\frac{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \left({x}^{6} \cdot 0.00726441819999999999 + \left(1 + \left(x \cdot x\right) \cdot \left(0.1049934947 + 0.042406060400000001 \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot x}{\left({x}^{6} \cdot 0.069455576099999999 + \left(\left(x \cdot x\right) \cdot \left(0.77154710189999998 + 0.29097386390000002 \cdot \left(x \cdot x\right)\right) + 1\right)\right) + \left(\left(2 \cdot {\left(x \cdot x\right)}^{6}\right) \cdot 1.789971 \cdot 10^{-4} + {\left(x \cdot x\right)}^{4} \cdot \left(0.014000544199999999 + \left(x \cdot x\right) \cdot 8.32794500000000044 \cdot 10^{-4}\right)\right)}}\]
    3. Taylor expanded around 0 0.1

      \[\leadsto \color{blue}{\left(1 \cdot x + 0.265709700396150994 \cdot {x}^{5}\right) - 0.66655360720000001 \cdot {x}^{3}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -1.147765270182274 \lor \neg \left(x \le 1.1589205875478283\right):\\ \;\;\;\;\frac{0.5}{x} + \left(\frac{0.1529819634592933}{{x}^{5}} + \frac{0.25141790006653753}{{x}^{3}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(1 \cdot x + 0.265709700396150994 \cdot {x}^{5}\right) - 0.66655360720000001 \cdot {x}^{3}\\ \end{array}\]

Reproduce

herbie shell --seed 2020046 
(FPCore (x)
  :name "Jmat.Real.dawson"
  :precision binary64
  (* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))