Average Error: 0.2 → 0.2
Time: 55.3s
Precision: 64
\[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
\[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \sqrt[3]{\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)}\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right) + \left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right)\right)\right|\]
\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|
\left|\frac{1}{\sqrt{\pi}} \cdot \left(\frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \sqrt[3]{\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)}\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right) + \left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right)\right)\right|
double f(double x) {
        double r4210568 = 1.0;
        double r4210569 = atan2(1.0, 0.0);
        double r4210570 = sqrt(r4210569);
        double r4210571 = r4210568 / r4210570;
        double r4210572 = 2.0;
        double r4210573 = x;
        double r4210574 = fabs(r4210573);
        double r4210575 = r4210572 * r4210574;
        double r4210576 = 3.0;
        double r4210577 = r4210572 / r4210576;
        double r4210578 = r4210574 * r4210574;
        double r4210579 = r4210578 * r4210574;
        double r4210580 = r4210577 * r4210579;
        double r4210581 = r4210575 + r4210580;
        double r4210582 = 5.0;
        double r4210583 = r4210568 / r4210582;
        double r4210584 = r4210579 * r4210574;
        double r4210585 = r4210584 * r4210574;
        double r4210586 = r4210583 * r4210585;
        double r4210587 = r4210581 + r4210586;
        double r4210588 = 21.0;
        double r4210589 = r4210568 / r4210588;
        double r4210590 = r4210585 * r4210574;
        double r4210591 = r4210590 * r4210574;
        double r4210592 = r4210589 * r4210591;
        double r4210593 = r4210587 + r4210592;
        double r4210594 = r4210571 * r4210593;
        double r4210595 = fabs(r4210594);
        return r4210595;
}

double f(double x) {
        double r4210596 = 1.0;
        double r4210597 = atan2(1.0, 0.0);
        double r4210598 = sqrt(r4210597);
        double r4210599 = r4210596 / r4210598;
        double r4210600 = 21.0;
        double r4210601 = r4210596 / r4210600;
        double r4210602 = x;
        double r4210603 = fabs(r4210602);
        double r4210604 = sqrt(r4210603);
        double r4210605 = r4210603 * r4210604;
        double r4210606 = r4210605 * r4210605;
        double r4210607 = r4210606 * r4210605;
        double r4210608 = cbrt(r4210607);
        double r4210609 = r4210605 * r4210608;
        double r4210610 = r4210609 * r4210603;
        double r4210611 = r4210610 * r4210603;
        double r4210612 = r4210603 * r4210611;
        double r4210613 = r4210603 * r4210612;
        double r4210614 = r4210601 * r4210613;
        double r4210615 = 5.0;
        double r4210616 = r4210596 / r4210615;
        double r4210617 = r4210603 * r4210603;
        double r4210618 = r4210617 * r4210603;
        double r4210619 = r4210618 * r4210603;
        double r4210620 = r4210603 * r4210619;
        double r4210621 = r4210616 * r4210620;
        double r4210622 = 2.0;
        double r4210623 = r4210603 * r4210622;
        double r4210624 = 3.0;
        double r4210625 = r4210622 / r4210624;
        double r4210626 = r4210618 * r4210625;
        double r4210627 = r4210623 + r4210626;
        double r4210628 = r4210621 + r4210627;
        double r4210629 = r4210614 + r4210628;
        double r4210630 = r4210599 * r4210629;
        double r4210631 = fabs(r4210630);
        return r4210631;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \color{blue}{\left(\sqrt{\left|x\right|} \cdot \sqrt{\left|x\right|}\right)}\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  4. Applied unswap-sqr0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\color{blue}{\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)\right)} \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  5. Using strategy rm
  6. Applied add-cbrt-cube0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\color{blue}{\sqrt[3]{\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)}} \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  7. Final simplification0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \sqrt[3]{\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)}\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right) + \left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right)\right)\right|\]

Reproduce

herbie shell --seed 2019168 +o rules:numerics
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  (fabs (* (/ 1.0 (sqrt PI)) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))