Average Error: 29.5 → 0.3
Time: 55.7s
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.163164485518187740709095123747829347849 \lor \neg \left(x \le 1.130677945347502433293129797675646841526\right):\\ \;\;\;\;\left(\frac{0.2514179000665375252054900556686334311962}{{x}^{3}} + \frac{0.1529819634592932686700805788859724998474}{{x}^{5}}\right) + \frac{0.5}{x}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(0.2657097003961509940062057921750238165259 \cdot {x}^{4} + 1\right) - 0.6665536072000000089587956608738750219345 \cdot {x}^{2}\right) \cdot x\\ \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.163164485518187740709095123747829347849 \lor \neg \left(x \le 1.130677945347502433293129797675646841526\right):\\
\;\;\;\;\left(\frac{0.2514179000665375252054900556686334311962}{{x}^{3}} + \frac{0.1529819634592932686700805788859724998474}{{x}^{5}}\right) + \frac{0.5}{x}\\

\mathbf{else}:\\
\;\;\;\;\left(\left(0.2657097003961509940062057921750238165259 \cdot {x}^{4} + 1\right) - 0.6665536072000000089587956608738750219345 \cdot {x}^{2}\right) \cdot x\\

\end{array}
double f(double x) {
        double r121345 = 1.0;
        double r121346 = 0.1049934947;
        double r121347 = x;
        double r121348 = r121347 * r121347;
        double r121349 = r121346 * r121348;
        double r121350 = r121345 + r121349;
        double r121351 = 0.0424060604;
        double r121352 = r121348 * r121348;
        double r121353 = r121351 * r121352;
        double r121354 = r121350 + r121353;
        double r121355 = 0.0072644182;
        double r121356 = r121352 * r121348;
        double r121357 = r121355 * r121356;
        double r121358 = r121354 + r121357;
        double r121359 = 0.0005064034;
        double r121360 = r121356 * r121348;
        double r121361 = r121359 * r121360;
        double r121362 = r121358 + r121361;
        double r121363 = 0.0001789971;
        double r121364 = r121360 * r121348;
        double r121365 = r121363 * r121364;
        double r121366 = r121362 + r121365;
        double r121367 = 0.7715471019;
        double r121368 = r121367 * r121348;
        double r121369 = r121345 + r121368;
        double r121370 = 0.2909738639;
        double r121371 = r121370 * r121352;
        double r121372 = r121369 + r121371;
        double r121373 = 0.0694555761;
        double r121374 = r121373 * r121356;
        double r121375 = r121372 + r121374;
        double r121376 = 0.0140005442;
        double r121377 = r121376 * r121360;
        double r121378 = r121375 + r121377;
        double r121379 = 0.0008327945;
        double r121380 = r121379 * r121364;
        double r121381 = r121378 + r121380;
        double r121382 = 2.0;
        double r121383 = r121382 * r121363;
        double r121384 = r121364 * r121348;
        double r121385 = r121383 * r121384;
        double r121386 = r121381 + r121385;
        double r121387 = r121366 / r121386;
        double r121388 = r121387 * r121347;
        return r121388;
}

double f(double x) {
        double r121389 = x;
        double r121390 = -1.1631644855181877;
        bool r121391 = r121389 <= r121390;
        double r121392 = 1.1306779453475024;
        bool r121393 = r121389 <= r121392;
        double r121394 = !r121393;
        bool r121395 = r121391 || r121394;
        double r121396 = 0.2514179000665375;
        double r121397 = 3.0;
        double r121398 = pow(r121389, r121397);
        double r121399 = r121396 / r121398;
        double r121400 = 0.15298196345929327;
        double r121401 = 5.0;
        double r121402 = pow(r121389, r121401);
        double r121403 = r121400 / r121402;
        double r121404 = r121399 + r121403;
        double r121405 = 0.5;
        double r121406 = r121405 / r121389;
        double r121407 = r121404 + r121406;
        double r121408 = 0.265709700396151;
        double r121409 = 4.0;
        double r121410 = pow(r121389, r121409);
        double r121411 = r121408 * r121410;
        double r121412 = 1.0;
        double r121413 = r121411 + r121412;
        double r121414 = 0.6665536072;
        double r121415 = 2.0;
        double r121416 = pow(r121389, r121415);
        double r121417 = r121414 * r121416;
        double r121418 = r121413 - r121417;
        double r121419 = r121418 * r121389;
        double r121420 = r121395 ? r121407 : r121419;
        return r121420;
}

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.1631644855181877 or 1.1306779453475024 < x

    1. Initial program 58.7

      \[\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. Taylor expanded around inf 0.2

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

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

    if -1.1631644855181877 < x < 1.1306779453475024

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -1.163164485518187740709095123747829347849 \lor \neg \left(x \le 1.130677945347502433293129797675646841526\right):\\ \;\;\;\;\left(\frac{0.2514179000665375252054900556686334311962}{{x}^{3}} + \frac{0.1529819634592932686700805788859724998474}{{x}^{5}}\right) + \frac{0.5}{x}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(0.2657097003961509940062057921750238165259 \cdot {x}^{4} + 1\right) - 0.6665536072000000089587956608738750219345 \cdot {x}^{2}\right) \cdot x\\ \end{array}\]

Reproduce

herbie shell --seed 2019212 
(FPCore (x)
  :name "Jmat.Real.dawson"
  :precision binary64
  (* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.042406060400000001 (* (* x x) (* x x)))) (* 0.00726441819999999999 (* (* (* x x) (* x x)) (* x x)))) (* 5.0640340000000002e-4 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 1.789971e-4 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.77154710189999998 (* x x))) (* 0.29097386390000002 (* (* x x) (* x x)))) (* 0.069455576099999999 (* (* (* x x) (* x x)) (* x x)))) (* 0.014000544199999999 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 8.32794500000000044e-4 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 1.789971e-4) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))