Average Error: 29.9 → 0.3
Time: 31.2s
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.1633699203691767 \lor \neg \left(x \le 1.14913787002183088\right):\\ \;\;\;\;0.25141790006653753 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592933 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\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.1633699203691767 \lor \neg \left(x \le 1.14913787002183088\right):\\
\;\;\;\;0.25141790006653753 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592933 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\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 r203648 = 1.0;
        double r203649 = 0.1049934947;
        double r203650 = x;
        double r203651 = r203650 * r203650;
        double r203652 = r203649 * r203651;
        double r203653 = r203648 + r203652;
        double r203654 = 0.0424060604;
        double r203655 = r203651 * r203651;
        double r203656 = r203654 * r203655;
        double r203657 = r203653 + r203656;
        double r203658 = 0.0072644182;
        double r203659 = r203655 * r203651;
        double r203660 = r203658 * r203659;
        double r203661 = r203657 + r203660;
        double r203662 = 0.0005064034;
        double r203663 = r203659 * r203651;
        double r203664 = r203662 * r203663;
        double r203665 = r203661 + r203664;
        double r203666 = 0.0001789971;
        double r203667 = r203663 * r203651;
        double r203668 = r203666 * r203667;
        double r203669 = r203665 + r203668;
        double r203670 = 0.7715471019;
        double r203671 = r203670 * r203651;
        double r203672 = r203648 + r203671;
        double r203673 = 0.2909738639;
        double r203674 = r203673 * r203655;
        double r203675 = r203672 + r203674;
        double r203676 = 0.0694555761;
        double r203677 = r203676 * r203659;
        double r203678 = r203675 + r203677;
        double r203679 = 0.0140005442;
        double r203680 = r203679 * r203663;
        double r203681 = r203678 + r203680;
        double r203682 = 0.0008327945;
        double r203683 = r203682 * r203667;
        double r203684 = r203681 + r203683;
        double r203685 = 2.0;
        double r203686 = r203685 * r203666;
        double r203687 = r203667 * r203651;
        double r203688 = r203686 * r203687;
        double r203689 = r203684 + r203688;
        double r203690 = r203669 / r203689;
        double r203691 = r203690 * r203650;
        return r203691;
}

double f(double x) {
        double r203692 = x;
        double r203693 = -1.1633699203691767;
        bool r203694 = r203692 <= r203693;
        double r203695 = 1.1491378700218309;
        bool r203696 = r203692 <= r203695;
        double r203697 = !r203696;
        bool r203698 = r203694 || r203697;
        double r203699 = 0.2514179000665375;
        double r203700 = 1.0;
        double r203701 = 3.0;
        double r203702 = pow(r203692, r203701);
        double r203703 = r203700 / r203702;
        double r203704 = r203699 * r203703;
        double r203705 = 0.15298196345929327;
        double r203706 = 5.0;
        double r203707 = pow(r203692, r203706);
        double r203708 = r203700 / r203707;
        double r203709 = r203705 * r203708;
        double r203710 = 0.5;
        double r203711 = r203700 / r203692;
        double r203712 = r203710 * r203711;
        double r203713 = r203709 + r203712;
        double r203714 = r203704 + r203713;
        double r203715 = 1.0;
        double r203716 = r203715 * r203692;
        double r203717 = 0.265709700396151;
        double r203718 = r203717 * r203707;
        double r203719 = r203716 + r203718;
        double r203720 = 0.6665536072;
        double r203721 = r203720 * r203702;
        double r203722 = r203719 - r203721;
        double r203723 = r203698 ? r203714 : r203722;
        return r203723;
}

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.1633699203691767 or 1.1491378700218309 < 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. Taylor expanded around inf 0.3

      \[\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)}\]

    if -1.1633699203691767 < x < 1.1491378700218309

    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. Taylor expanded around 0 0.2

      \[\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.3

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

Reproduce

herbie shell --seed 2020060 
(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))