Average Error: 29.5 → 0.3
Time: 1.3m
Precision: 64
\[\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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.134957729769652701179438736289739608765:\\ \;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right)\\ \mathbf{elif}\;x \le 1.139187033807632198900705589039716869593:\\ \;\;\;\;\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x\right) \cdot 0.2657097003961509940062057921750238165259 + x \cdot 1\right) - 0.6665536072000000089587956608738750219345 \cdot \left(\left(x \cdot x\right) \cdot x\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right)\\ \end{array}\]
\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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.134957729769652701179438736289739608765:\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right)\\

\mathbf{elif}\;x \le 1.139187033807632198900705589039716869593:\\
\;\;\;\;\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x\right) \cdot 0.2657097003961509940062057921750238165259 + x \cdot 1\right) - 0.6665536072000000089587956608738750219345 \cdot \left(\left(x \cdot x\right) \cdot x\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right)\\

\end{array}
double f(double x) {
        double r7512857 = 1.0;
        double r7512858 = 0.1049934947;
        double r7512859 = x;
        double r7512860 = r7512859 * r7512859;
        double r7512861 = r7512858 * r7512860;
        double r7512862 = r7512857 + r7512861;
        double r7512863 = 0.0424060604;
        double r7512864 = r7512860 * r7512860;
        double r7512865 = r7512863 * r7512864;
        double r7512866 = r7512862 + r7512865;
        double r7512867 = 0.0072644182;
        double r7512868 = r7512864 * r7512860;
        double r7512869 = r7512867 * r7512868;
        double r7512870 = r7512866 + r7512869;
        double r7512871 = 0.0005064034;
        double r7512872 = r7512868 * r7512860;
        double r7512873 = r7512871 * r7512872;
        double r7512874 = r7512870 + r7512873;
        double r7512875 = 0.0001789971;
        double r7512876 = r7512872 * r7512860;
        double r7512877 = r7512875 * r7512876;
        double r7512878 = r7512874 + r7512877;
        double r7512879 = 0.7715471019;
        double r7512880 = r7512879 * r7512860;
        double r7512881 = r7512857 + r7512880;
        double r7512882 = 0.2909738639;
        double r7512883 = r7512882 * r7512864;
        double r7512884 = r7512881 + r7512883;
        double r7512885 = 0.0694555761;
        double r7512886 = r7512885 * r7512868;
        double r7512887 = r7512884 + r7512886;
        double r7512888 = 0.0140005442;
        double r7512889 = r7512888 * r7512872;
        double r7512890 = r7512887 + r7512889;
        double r7512891 = 0.0008327945;
        double r7512892 = r7512891 * r7512876;
        double r7512893 = r7512890 + r7512892;
        double r7512894 = 2.0;
        double r7512895 = r7512894 * r7512875;
        double r7512896 = r7512876 * r7512860;
        double r7512897 = r7512895 * r7512896;
        double r7512898 = r7512893 + r7512897;
        double r7512899 = r7512878 / r7512898;
        double r7512900 = r7512899 * r7512859;
        return r7512900;
}

double f(double x) {
        double r7512901 = x;
        double r7512902 = -1.1349577297696527;
        bool r7512903 = r7512901 <= r7512902;
        double r7512904 = 0.15298196345929327;
        double r7512905 = r7512901 * r7512901;
        double r7512906 = r7512905 * r7512905;
        double r7512907 = r7512906 * r7512901;
        double r7512908 = r7512904 / r7512907;
        double r7512909 = 0.5;
        double r7512910 = r7512909 / r7512901;
        double r7512911 = 0.2514179000665375;
        double r7512912 = r7512905 * r7512901;
        double r7512913 = r7512911 / r7512912;
        double r7512914 = r7512910 + r7512913;
        double r7512915 = r7512908 + r7512914;
        double r7512916 = 1.1391870338076322;
        bool r7512917 = r7512901 <= r7512916;
        double r7512918 = 0.265709700396151;
        double r7512919 = r7512907 * r7512918;
        double r7512920 = 1.0;
        double r7512921 = r7512901 * r7512920;
        double r7512922 = r7512919 + r7512921;
        double r7512923 = 0.6665536072;
        double r7512924 = r7512923 * r7512912;
        double r7512925 = r7512922 - r7512924;
        double r7512926 = r7512917 ? r7512925 : r7512915;
        double r7512927 = r7512903 ? r7512915 : r7512926;
        return r7512927;
}

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.1349577297696527 or 1.1391870338076322 < x

    1. Initial program 58.6

      \[\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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.6

      \[\leadsto \color{blue}{\frac{\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(5.064034000000000243502107366566633572802 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) + 0.1049934946999999951788851149103720672429\right) + \left(\left(1 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.04240606040000000076517494562722276896238\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)}{\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) \cdot 2 + 8.327945000000000442749725770852364803432 \cdot 10^{-4}\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743 + 0.06945557609999999937322456844412954524159\right) + \left(0.7715471018999999763821051601553335785866 + \left(x \cdot x\right) \cdot 0.2909738639000000182122107617033179849386\right)\right) + 1\right)} \cdot x}\]
    3. Taylor expanded around inf 0.2

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

      \[\leadsto \color{blue}{\left(\frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x} + \frac{0.5}{x}\right) + \frac{0.1529819634592932686700805788859724998474}{x \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)}}\]

    if -1.1349577297696527 < x < 1.1391870338076322

    1. Initial program 0.0

      \[\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(5.064034000000000243502107366566633572802 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) + 0.1049934946999999951788851149103720672429\right) + \left(\left(1 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.04240606040000000076517494562722276896238\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)}{\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) \cdot 2 + 8.327945000000000442749725770852364803432 \cdot 10^{-4}\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743 + 0.06945557609999999937322456844412954524159\right) + \left(0.7715471018999999763821051601553335785866 + \left(x \cdot x\right) \cdot 0.2909738639000000182122107617033179849386\right)\right) + 1\right)} \cdot x}\]
    3. Taylor expanded around 0 0.3

      \[\leadsto \color{blue}{\left(1 \cdot x + 0.2657097003961509940062057921750238165259 \cdot {x}^{5}\right) - 0.6665536072000000089587956608738750219345 \cdot {x}^{3}}\]
    4. Simplified0.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -1.134957729769652701179438736289739608765:\\ \;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right)\\ \mathbf{elif}\;x \le 1.139187033807632198900705589039716869593:\\ \;\;\;\;\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x\right) \cdot 0.2657097003961509940062057921750238165259 + x \cdot 1\right) - 0.6665536072000000089587956608738750219345 \cdot \left(\left(x \cdot x\right) \cdot x\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019168 
(FPCore (x)
  :name "Jmat.Real.dawson"
  (* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))