Average Error: 28.5 → 0.2
Time: 16.5s
Precision: 64
\[\frac{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.2738499999999999823252494479675078764558\right) \cdot f - 0.7336899999999999533173422605614177882671 \cdot f\right) + 0.4634099999999999885957890910503920167685 \cdot f\right)}{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.09307300000000000295141688866351614706218\right) \cdot f + 0.3094199999999999728395039255701703950763 \cdot f\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}\]
\[\begin{array}{l} \mathbf{if}\;xi1 \le -1264294.54784057312645018100738525390625 \lor \neg \left(xi1 \le 20761429499268.24609375\right):\\ \;\;\;\;\frac{95.31782908038687196494720410555601119995}{xi1 \cdot xi1} + \left(2.942314097536342210048587730852887034416 - \frac{17.66463773661206460019457153975963592529}{xi1}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{xi1}{\sqrt[3]{{\left(\frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)}\right)}^{3}}}\\ \end{array}\]
\frac{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.2738499999999999823252494479675078764558\right) \cdot f - 0.7336899999999999533173422605614177882671 \cdot f\right) + 0.4634099999999999885957890910503920167685 \cdot f\right)}{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.09307300000000000295141688866351614706218\right) \cdot f + 0.3094199999999999728395039255701703950763 \cdot f\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}
\begin{array}{l}
\mathbf{if}\;xi1 \le -1264294.54784057312645018100738525390625 \lor \neg \left(xi1 \le 20761429499268.24609375\right):\\
\;\;\;\;\frac{95.31782908038687196494720410555601119995}{xi1 \cdot xi1} + \left(2.942314097536342210048587730852887034416 - \frac{17.66463773661206460019457153975963592529}{xi1}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{xi1}{\sqrt[3]{{\left(\frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)}\right)}^{3}}}\\

\end{array}
double f(double xi1, double f) {
        double r468665 = xi1;
        double r468666 = 0.27385;
        double r468667 = r468665 * r468666;
        double r468668 = f;
        double r468669 = r468667 * r468668;
        double r468670 = 0.73369;
        double r468671 = r468670 * r468668;
        double r468672 = r468669 - r468671;
        double r468673 = r468665 * r468672;
        double r468674 = 0.46341;
        double r468675 = r468674 * r468668;
        double r468676 = r468673 + r468675;
        double r468677 = r468665 * r468676;
        double r468678 = 0.093073;
        double r468679 = r468665 * r468678;
        double r468680 = r468679 * r468668;
        double r468681 = 0.30942;
        double r468682 = r468681 * r468668;
        double r468683 = r468680 + r468682;
        double r468684 = r468665 * r468683;
        double r468685 = 1.0;
        double r468686 = r468685 * r468668;
        double r468687 = r468684 - r468686;
        double r468688 = r468665 * r468687;
        double r468689 = 0.597999;
        double r468690 = r468689 * r468668;
        double r468691 = r468688 + r468690;
        double r468692 = r468677 / r468691;
        return r468692;
}

double f(double xi1, double f) {
        double r468693 = xi1;
        double r468694 = -1264294.5478405731;
        bool r468695 = r468693 <= r468694;
        double r468696 = 20761429499268.246;
        bool r468697 = r468693 <= r468696;
        double r468698 = !r468697;
        bool r468699 = r468695 || r468698;
        double r468700 = 95.31782908038687;
        double r468701 = r468693 * r468693;
        double r468702 = r468700 / r468701;
        double r468703 = 2.942314097536342;
        double r468704 = 17.664637736612065;
        double r468705 = r468704 / r468693;
        double r468706 = r468703 - r468705;
        double r468707 = r468702 + r468706;
        double r468708 = f;
        double r468709 = 0.093073;
        double r468710 = r468693 * r468709;
        double r468711 = 0.30942;
        double r468712 = r468710 + r468711;
        double r468713 = r468708 * r468712;
        double r468714 = r468693 * r468713;
        double r468715 = 1.0;
        double r468716 = r468715 * r468708;
        double r468717 = r468714 - r468716;
        double r468718 = r468693 * r468717;
        double r468719 = 0.597999;
        double r468720 = r468719 * r468708;
        double r468721 = r468718 + r468720;
        double r468722 = 0.46341;
        double r468723 = r468722 * r468708;
        double r468724 = 0.27385;
        double r468725 = r468693 * r468724;
        double r468726 = 0.73369;
        double r468727 = r468725 - r468726;
        double r468728 = r468708 * r468727;
        double r468729 = r468693 * r468728;
        double r468730 = r468723 + r468729;
        double r468731 = r468721 / r468730;
        double r468732 = 3.0;
        double r468733 = pow(r468731, r468732);
        double r468734 = cbrt(r468733);
        double r468735 = r468693 / r468734;
        double r468736 = r468699 ? r468707 : r468735;
        return r468736;
}

Error

Bits error versus xi1

Bits error versus f

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if xi1 < -1264294.5478405731 or 20761429499268.246 < xi1

    1. Initial program 43.7

      \[\frac{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.2738499999999999823252494479675078764558\right) \cdot f - 0.7336899999999999533173422605614177882671 \cdot f\right) + 0.4634099999999999885957890910503920167685 \cdot f\right)}{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.09307300000000000295141688866351614706218\right) \cdot f + 0.3094199999999999728395039255701703950763 \cdot f\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}\]
    2. Taylor expanded around inf 0.0

      \[\leadsto \color{blue}{\left(95.31782908038687196494720410555601119995 \cdot \frac{1}{{xi1}^{2}} + 2.942314097536342210048587730852887034416\right) - 17.66463773661206460019457153975963592529 \cdot \frac{1}{xi1}}\]
    3. Simplified0.0

      \[\leadsto \color{blue}{\frac{95.31782908038687196494720410555601119995}{xi1 \cdot xi1} + \left(2.942314097536342210048587730852887034416 - \frac{17.66463773661206460019457153975963592529}{xi1}\right)}\]

    if -1264294.5478405731 < xi1 < 20761429499268.246

    1. Initial program 13.8

      \[\frac{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.2738499999999999823252494479675078764558\right) \cdot f - 0.7336899999999999533173422605614177882671 \cdot f\right) + 0.4634099999999999885957890910503920167685 \cdot f\right)}{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.09307300000000000295141688866351614706218\right) \cdot f + 0.3094199999999999728395039255701703950763 \cdot f\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}\]
    2. Using strategy rm
    3. Applied associate-/l*0.5

      \[\leadsto \color{blue}{\frac{xi1}{\frac{xi1 \cdot \left(xi1 \cdot \left(\left(xi1 \cdot 0.09307300000000000295141688866351614706218\right) \cdot f + 0.3094199999999999728395039255701703950763 \cdot f\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{xi1 \cdot \left(\left(xi1 \cdot 0.2738499999999999823252494479675078764558\right) \cdot f - 0.7336899999999999533173422605614177882671 \cdot f\right) + 0.4634099999999999885957890910503920167685 \cdot f}}}\]
    4. Simplified0.5

      \[\leadsto \frac{xi1}{\color{blue}{\frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)}}}\]
    5. Using strategy rm
    6. Applied add-cbrt-cube0.4

      \[\leadsto \frac{xi1}{\color{blue}{\sqrt[3]{\left(\frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)} \cdot \frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)}\right) \cdot \frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)}}}}\]
    7. Simplified0.4

      \[\leadsto \frac{xi1}{\sqrt[3]{\color{blue}{{\left(\frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)}\right)}^{3}}}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;xi1 \le -1264294.54784057312645018100738525390625 \lor \neg \left(xi1 \le 20761429499268.24609375\right):\\ \;\;\;\;\frac{95.31782908038687196494720410555601119995}{xi1 \cdot xi1} + \left(2.942314097536342210048587730852887034416 - \frac{17.66463773661206460019457153975963592529}{xi1}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{xi1}{\sqrt[3]{{\left(\frac{xi1 \cdot \left(xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.09307300000000000295141688866351614706218 + 0.3094199999999999728395039255701703950763\right)\right) - 1 \cdot f\right) + 0.5979989999999999472635181518853642046452 \cdot f}{0.4634099999999999885957890910503920167685 \cdot f + xi1 \cdot \left(f \cdot \left(xi1 \cdot 0.2738499999999999823252494479675078764558 - 0.7336899999999999533173422605614177882671\right)\right)}\right)}^{3}}}\\ \end{array}\]

Reproduce

herbie shell --seed 1 
(FPCore (xi1 f)
  :name "( xi1 * ( xi1 * ( xi1 * 0.27385f - 0.73369f ) + 0.46341f ) ) / ( xi1 * ( xi1 * ( xi1 * 0.093073f + 0.309420f ) - 1.f ) + 0.597999f )"
  :precision binary64
  (/ (* xi1 (+ (* xi1 (- (* (* xi1 0.273849999999999982) f) (* 0.73368999999999995 f))) (* 0.46340999999999999 f))) (+ (* xi1 (- (* xi1 (+ (* (* xi1 0.093073000000000003) f) (* 0.309419999999999973 f))) (* 1 f))) (* 0.59799899999999995 f))))