Average Error: 29.5 → 0.0
Time: 50.7s
Precision: 64
\[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \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) + 0.0001789971 \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.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \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) + 0.0008327945 \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 0.0001789971\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 -507323924796536.0:\\ \;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\ \mathbf{elif}\;x \le 850.418333643393:\\ \;\;\;\;x \cdot \frac{\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0001789971 + \left(\left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0005064034\right)}{\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right) + \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0008327945 + \left(\left(\left(\left(0.7715471019 \cdot \left(x \cdot x\right) + 1\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0694555761\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0140005442\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\ \end{array}\]
\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \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) + 0.0001789971 \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.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \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) + 0.0008327945 \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 0.0001789971\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 -507323924796536.0:\\
\;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\

\mathbf{elif}\;x \le 850.418333643393:\\
\;\;\;\;x \cdot \frac{\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0001789971 + \left(\left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0005064034\right)}{\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right) + \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0008327945 + \left(\left(\left(\left(0.7715471019 \cdot \left(x \cdot x\right) + 1\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0694555761\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0140005442\right)\right)}\\

\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\

\end{array}
double f(double x) {
        double r6568481 = 1.0;
        double r6568482 = 0.1049934947;
        double r6568483 = x;
        double r6568484 = r6568483 * r6568483;
        double r6568485 = r6568482 * r6568484;
        double r6568486 = r6568481 + r6568485;
        double r6568487 = 0.0424060604;
        double r6568488 = r6568484 * r6568484;
        double r6568489 = r6568487 * r6568488;
        double r6568490 = r6568486 + r6568489;
        double r6568491 = 0.0072644182;
        double r6568492 = r6568488 * r6568484;
        double r6568493 = r6568491 * r6568492;
        double r6568494 = r6568490 + r6568493;
        double r6568495 = 0.0005064034;
        double r6568496 = r6568492 * r6568484;
        double r6568497 = r6568495 * r6568496;
        double r6568498 = r6568494 + r6568497;
        double r6568499 = 0.0001789971;
        double r6568500 = r6568496 * r6568484;
        double r6568501 = r6568499 * r6568500;
        double r6568502 = r6568498 + r6568501;
        double r6568503 = 0.7715471019;
        double r6568504 = r6568503 * r6568484;
        double r6568505 = r6568481 + r6568504;
        double r6568506 = 0.2909738639;
        double r6568507 = r6568506 * r6568488;
        double r6568508 = r6568505 + r6568507;
        double r6568509 = 0.0694555761;
        double r6568510 = r6568509 * r6568492;
        double r6568511 = r6568508 + r6568510;
        double r6568512 = 0.0140005442;
        double r6568513 = r6568512 * r6568496;
        double r6568514 = r6568511 + r6568513;
        double r6568515 = 0.0008327945;
        double r6568516 = r6568515 * r6568500;
        double r6568517 = r6568514 + r6568516;
        double r6568518 = 2.0;
        double r6568519 = r6568518 * r6568499;
        double r6568520 = r6568500 * r6568484;
        double r6568521 = r6568519 * r6568520;
        double r6568522 = r6568517 + r6568521;
        double r6568523 = r6568502 / r6568522;
        double r6568524 = r6568523 * r6568483;
        return r6568524;
}

double f(double x) {
        double r6568525 = x;
        double r6568526 = -507323924796536.0;
        bool r6568527 = r6568525 <= r6568526;
        double r6568528 = 0.15298196345929327;
        double r6568529 = 5.0;
        double r6568530 = pow(r6568525, r6568529);
        double r6568531 = r6568528 / r6568530;
        double r6568532 = 0.2514179000665375;
        double r6568533 = r6568525 * r6568525;
        double r6568534 = r6568525 * r6568533;
        double r6568535 = r6568532 / r6568534;
        double r6568536 = 0.5;
        double r6568537 = r6568536 / r6568525;
        double r6568538 = r6568535 + r6568537;
        double r6568539 = r6568531 + r6568538;
        double r6568540 = 850.418333643393;
        bool r6568541 = r6568525 <= r6568540;
        double r6568542 = r6568533 * r6568533;
        double r6568543 = r6568533 * r6568542;
        double r6568544 = r6568533 * r6568543;
        double r6568545 = r6568533 * r6568544;
        double r6568546 = 0.0001789971;
        double r6568547 = r6568545 * r6568546;
        double r6568548 = 0.0072644182;
        double r6568549 = r6568548 * r6568543;
        double r6568550 = 1.0;
        double r6568551 = 0.1049934947;
        double r6568552 = r6568551 * r6568533;
        double r6568553 = r6568550 + r6568552;
        double r6568554 = 0.0424060604;
        double r6568555 = r6568554 * r6568542;
        double r6568556 = r6568553 + r6568555;
        double r6568557 = r6568549 + r6568556;
        double r6568558 = 0.0005064034;
        double r6568559 = r6568544 * r6568558;
        double r6568560 = r6568557 + r6568559;
        double r6568561 = r6568547 + r6568560;
        double r6568562 = r6568545 * r6568533;
        double r6568563 = 2.0;
        double r6568564 = r6568563 * r6568546;
        double r6568565 = r6568562 * r6568564;
        double r6568566 = 0.0008327945;
        double r6568567 = r6568545 * r6568566;
        double r6568568 = 0.7715471019;
        double r6568569 = r6568568 * r6568533;
        double r6568570 = r6568569 + r6568550;
        double r6568571 = 0.2909738639;
        double r6568572 = r6568571 * r6568542;
        double r6568573 = r6568570 + r6568572;
        double r6568574 = 0.0694555761;
        double r6568575 = r6568543 * r6568574;
        double r6568576 = r6568573 + r6568575;
        double r6568577 = 0.0140005442;
        double r6568578 = r6568544 * r6568577;
        double r6568579 = r6568576 + r6568578;
        double r6568580 = r6568567 + r6568579;
        double r6568581 = r6568565 + r6568580;
        double r6568582 = r6568561 / r6568581;
        double r6568583 = r6568525 * r6568582;
        double r6568584 = r6568541 ? r6568583 : r6568539;
        double r6568585 = r6568527 ? r6568539 : r6568584;
        return r6568585;
}

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 < -507323924796536.0 or 850.418333643393 < x

    1. Initial program 59.5

      \[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \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) + 0.0001789971 \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.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \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) + 0.0008327945 \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 0.0001789971\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.0

      \[\leadsto \color{blue}{0.15298196345929327 \cdot \frac{1}{{x}^{5}} + \left(0.2514179000665375 \cdot \frac{1}{{x}^{3}} + 0.5 \cdot \frac{1}{x}\right)}\]
    3. Simplified0.0

      \[\leadsto \color{blue}{\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.5}{x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)}\]

    if -507323924796536.0 < x < 850.418333643393

    1. Initial program 0.0

      \[\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \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) + 0.0001789971 \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.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \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) + 0.0008327945 \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 0.0001789971\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\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -507323924796536.0:\\ \;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\ \mathbf{elif}\;x \le 850.418333643393:\\ \;\;\;\;x \cdot \frac{\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0001789971 + \left(\left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0005064034\right)}{\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right) + \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0008327945 + \left(\left(\left(\left(0.7715471019 \cdot \left(x \cdot x\right) + 1\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0694555761\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0140005442\right)\right)}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.dawson"
  (* (/ (+ (+ (+ (+ (+ 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))