Average Error: 5.2 → 4.7
Time: 26.1s
Precision: 64
\[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
\[\begin{array}{l} \mathbf{if}\;t \le -2.6023650830861039 \cdot 10^{-202}:\\ \;\;\;\;\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\right)\\ \mathbf{elif}\;t \le 1.24034573106726284 \cdot 10^{-70}:\\ \;\;\;\;\left(t \cdot \left(-a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \end{array}\]
\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k
\begin{array}{l}
\mathbf{if}\;t \le -2.6023650830861039 \cdot 10^{-202}:\\
\;\;\;\;\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\right)\\

\mathbf{elif}\;t \le 1.24034573106726284 \cdot 10^{-70}:\\
\;\;\;\;\left(t \cdot \left(-a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r175558 = x;
        double r175559 = 18.0;
        double r175560 = r175558 * r175559;
        double r175561 = y;
        double r175562 = r175560 * r175561;
        double r175563 = z;
        double r175564 = r175562 * r175563;
        double r175565 = t;
        double r175566 = r175564 * r175565;
        double r175567 = a;
        double r175568 = 4.0;
        double r175569 = r175567 * r175568;
        double r175570 = r175569 * r175565;
        double r175571 = r175566 - r175570;
        double r175572 = b;
        double r175573 = c;
        double r175574 = r175572 * r175573;
        double r175575 = r175571 + r175574;
        double r175576 = r175558 * r175568;
        double r175577 = i;
        double r175578 = r175576 * r175577;
        double r175579 = r175575 - r175578;
        double r175580 = j;
        double r175581 = 27.0;
        double r175582 = r175580 * r175581;
        double r175583 = k;
        double r175584 = r175582 * r175583;
        double r175585 = r175579 - r175584;
        return r175585;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r175586 = t;
        double r175587 = -2.602365083086104e-202;
        bool r175588 = r175586 <= r175587;
        double r175589 = x;
        double r175590 = 18.0;
        double r175591 = r175589 * r175590;
        double r175592 = y;
        double r175593 = r175591 * r175592;
        double r175594 = z;
        double r175595 = r175593 * r175594;
        double r175596 = a;
        double r175597 = 4.0;
        double r175598 = r175596 * r175597;
        double r175599 = r175595 - r175598;
        double r175600 = r175586 * r175599;
        double r175601 = b;
        double r175602 = c;
        double r175603 = r175601 * r175602;
        double r175604 = r175600 + r175603;
        double r175605 = r175589 * r175597;
        double r175606 = i;
        double r175607 = r175605 * r175606;
        double r175608 = j;
        double r175609 = 27.0;
        double r175610 = r175608 * r175609;
        double r175611 = k;
        double r175612 = cbrt(r175611);
        double r175613 = r175612 * r175612;
        double r175614 = r175610 * r175613;
        double r175615 = r175614 * r175612;
        double r175616 = r175607 + r175615;
        double r175617 = r175604 - r175616;
        double r175618 = 1.2403457310672628e-70;
        bool r175619 = r175586 <= r175618;
        double r175620 = -r175598;
        double r175621 = r175586 * r175620;
        double r175622 = r175621 + r175603;
        double r175623 = r175609 * r175611;
        double r175624 = r175608 * r175623;
        double r175625 = r175607 + r175624;
        double r175626 = r175622 - r175625;
        double r175627 = r175592 * r175594;
        double r175628 = r175591 * r175627;
        double r175629 = r175628 - r175598;
        double r175630 = r175586 * r175629;
        double r175631 = r175630 + r175603;
        double r175632 = r175631 - r175625;
        double r175633 = r175619 ? r175626 : r175632;
        double r175634 = r175588 ? r175617 : r175633;
        return r175634;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Bits error versus j

Bits error versus k

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if t < -2.602365083086104e-202

    1. Initial program 4.2

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified4.2

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt4.4

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot \color{blue}{\left(\left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right) \cdot \sqrt[3]{k}\right)}\right)\]
    5. Applied associate-*r*4.4

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \color{blue}{\left(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}}\right)\]

    if -2.602365083086104e-202 < t < 1.2403457310672628e-70

    1. Initial program 8.3

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified8.3

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*8.4

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \color{blue}{j \cdot \left(27 \cdot k\right)}\right)\]
    5. Taylor expanded around 0 6.0

      \[\leadsto \left(t \cdot \left(\color{blue}{0} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]

    if 1.2403457310672628e-70 < t

    1. Initial program 2.3

      \[\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\]
    2. Simplified2.3

      \[\leadsto \color{blue}{\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*2.3

      \[\leadsto \left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \color{blue}{j \cdot \left(27 \cdot k\right)}\right)\]
    5. Using strategy rm
    6. Applied associate-*l*3.5

      \[\leadsto \left(t \cdot \left(\color{blue}{\left(x \cdot 18\right) \cdot \left(y \cdot z\right)} - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification4.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -2.6023650830861039 \cdot 10^{-202}:\\ \;\;\;\;\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\right)\\ \mathbf{elif}\;t \le 1.24034573106726284 \cdot 10^{-70}:\\ \;\;\;\;\left(t \cdot \left(-a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020047 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1"
  :precision binary64
  (- (- (+ (- (* (* (* (* x 18) y) z) t) (* (* a 4) t)) (* b c)) (* (* x 4) i)) (* (* j 27) k)))