Average Error: 5.3 → 2.5
Time: 38.7s
Precision: 64
\[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
\[\begin{array}{l} \mathbf{if}\;z \le -4.0187628024211573 \cdot 10^{+80}:\\ \;\;\;\;\left(\left(c \cdot b - \left(j \cdot 27.0\right) \cdot k\right) + \left(\left(y \cdot x\right) \cdot \left(18.0 \cdot t\right)\right) \cdot z\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\ \mathbf{elif}\;z \le 1.6682419145858938 \cdot 10^{-20}:\\ \;\;\;\;\left(\left(c \cdot b - 27.0 \cdot \left(j \cdot k\right)\right) + \left(18.0 \cdot \left(x \cdot t\right)\right) \cdot \left(y \cdot z\right)\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(c \cdot b - \left(j \cdot 27.0\right) \cdot k\right) + \left(\left(y \cdot x\right) \cdot \left(18.0 \cdot t\right)\right) \cdot z\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\ \end{array}\]
\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\begin{array}{l}
\mathbf{if}\;z \le -4.0187628024211573 \cdot 10^{+80}:\\
\;\;\;\;\left(\left(c \cdot b - \left(j \cdot 27.0\right) \cdot k\right) + \left(\left(y \cdot x\right) \cdot \left(18.0 \cdot t\right)\right) \cdot z\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\

\mathbf{elif}\;z \le 1.6682419145858938 \cdot 10^{-20}:\\
\;\;\;\;\left(\left(c \cdot b - 27.0 \cdot \left(j \cdot k\right)\right) + \left(18.0 \cdot \left(x \cdot t\right)\right) \cdot \left(y \cdot z\right)\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(c \cdot b - \left(j \cdot 27.0\right) \cdot k\right) + \left(\left(y \cdot x\right) \cdot \left(18.0 \cdot t\right)\right) \cdot z\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\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 r4669554 = x;
        double r4669555 = 18.0;
        double r4669556 = r4669554 * r4669555;
        double r4669557 = y;
        double r4669558 = r4669556 * r4669557;
        double r4669559 = z;
        double r4669560 = r4669558 * r4669559;
        double r4669561 = t;
        double r4669562 = r4669560 * r4669561;
        double r4669563 = a;
        double r4669564 = 4.0;
        double r4669565 = r4669563 * r4669564;
        double r4669566 = r4669565 * r4669561;
        double r4669567 = r4669562 - r4669566;
        double r4669568 = b;
        double r4669569 = c;
        double r4669570 = r4669568 * r4669569;
        double r4669571 = r4669567 + r4669570;
        double r4669572 = r4669554 * r4669564;
        double r4669573 = i;
        double r4669574 = r4669572 * r4669573;
        double r4669575 = r4669571 - r4669574;
        double r4669576 = j;
        double r4669577 = 27.0;
        double r4669578 = r4669576 * r4669577;
        double r4669579 = k;
        double r4669580 = r4669578 * r4669579;
        double r4669581 = r4669575 - r4669580;
        return r4669581;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r4669582 = z;
        double r4669583 = -4.0187628024211573e+80;
        bool r4669584 = r4669582 <= r4669583;
        double r4669585 = c;
        double r4669586 = b;
        double r4669587 = r4669585 * r4669586;
        double r4669588 = j;
        double r4669589 = 27.0;
        double r4669590 = r4669588 * r4669589;
        double r4669591 = k;
        double r4669592 = r4669590 * r4669591;
        double r4669593 = r4669587 - r4669592;
        double r4669594 = y;
        double r4669595 = x;
        double r4669596 = r4669594 * r4669595;
        double r4669597 = 18.0;
        double r4669598 = t;
        double r4669599 = r4669597 * r4669598;
        double r4669600 = r4669596 * r4669599;
        double r4669601 = r4669600 * r4669582;
        double r4669602 = r4669593 + r4669601;
        double r4669603 = 4.0;
        double r4669604 = a;
        double r4669605 = r4669598 * r4669604;
        double r4669606 = i;
        double r4669607 = r4669595 * r4669606;
        double r4669608 = r4669605 + r4669607;
        double r4669609 = r4669603 * r4669608;
        double r4669610 = r4669602 - r4669609;
        double r4669611 = 1.6682419145858938e-20;
        bool r4669612 = r4669582 <= r4669611;
        double r4669613 = r4669588 * r4669591;
        double r4669614 = r4669589 * r4669613;
        double r4669615 = r4669587 - r4669614;
        double r4669616 = r4669595 * r4669598;
        double r4669617 = r4669597 * r4669616;
        double r4669618 = r4669594 * r4669582;
        double r4669619 = r4669617 * r4669618;
        double r4669620 = r4669615 + r4669619;
        double r4669621 = r4669620 - r4669609;
        double r4669622 = r4669612 ? r4669621 : r4669610;
        double r4669623 = r4669584 ? r4669610 : r4669622;
        return r4669623;
}

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 2 regimes
  2. if z < -4.0187628024211573e+80 or 1.6682419145858938e-20 < z

    1. Initial program 7.2

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Simplified10.7

      \[\leadsto \color{blue}{\left(\left(t \cdot x\right) \cdot \left(18.0 \cdot \left(y \cdot z\right)\right) + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)}\]
    3. Using strategy rm
    4. Applied associate-*r*10.6

      \[\leadsto \left(\color{blue}{\left(\left(t \cdot x\right) \cdot 18.0\right) \cdot \left(y \cdot z\right)} + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]
    5. Using strategy rm
    6. Applied associate-*r*2.3

      \[\leadsto \left(\color{blue}{\left(\left(\left(t \cdot x\right) \cdot 18.0\right) \cdot y\right) \cdot z} + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt2.4

      \[\leadsto \left(\left(\left(\left(t \cdot x\right) \cdot \color{blue}{\left(\sqrt{18.0} \cdot \sqrt{18.0}\right)}\right) \cdot y\right) \cdot z + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]
    9. Applied associate-*r*2.4

      \[\leadsto \left(\left(\color{blue}{\left(\left(\left(t \cdot x\right) \cdot \sqrt{18.0}\right) \cdot \sqrt{18.0}\right)} \cdot y\right) \cdot z + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]
    10. Taylor expanded around inf 2.1

      \[\leadsto \left(\color{blue}{\left(t \cdot \left(x \cdot \left({\left(\sqrt{18.0}\right)}^{2} \cdot y\right)\right)\right)} \cdot z + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]
    11. Simplified1.9

      \[\leadsto \left(\color{blue}{\left(\left(18.0 \cdot t\right) \cdot \left(x \cdot y\right)\right)} \cdot z + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]

    if -4.0187628024211573e+80 < z < 1.6682419145858938e-20

    1. Initial program 4.1

      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
    2. Simplified2.9

      \[\leadsto \color{blue}{\left(\left(t \cdot x\right) \cdot \left(18.0 \cdot \left(y \cdot z\right)\right) + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)}\]
    3. Using strategy rm
    4. Applied associate-*r*2.9

      \[\leadsto \left(\color{blue}{\left(\left(t \cdot x\right) \cdot 18.0\right) \cdot \left(y \cdot z\right)} + \left(c \cdot b - \left(27.0 \cdot j\right) \cdot k\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]
    5. Taylor expanded around inf 2.8

      \[\leadsto \left(\left(\left(t \cdot x\right) \cdot 18.0\right) \cdot \left(y \cdot z\right) + \left(c \cdot b - \color{blue}{27.0 \cdot \left(j \cdot k\right)}\right)\right) - 4.0 \cdot \left(a \cdot t + x \cdot i\right)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification2.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;z \le -4.0187628024211573 \cdot 10^{+80}:\\ \;\;\;\;\left(\left(c \cdot b - \left(j \cdot 27.0\right) \cdot k\right) + \left(\left(y \cdot x\right) \cdot \left(18.0 \cdot t\right)\right) \cdot z\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\ \mathbf{elif}\;z \le 1.6682419145858938 \cdot 10^{-20}:\\ \;\;\;\;\left(\left(c \cdot b - 27.0 \cdot \left(j \cdot k\right)\right) + \left(18.0 \cdot \left(x \cdot t\right)\right) \cdot \left(y \cdot z\right)\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(c \cdot b - \left(j \cdot 27.0\right) \cdot k\right) + \left(\left(y \cdot x\right) \cdot \left(18.0 \cdot t\right)\right) \cdot z\right) - 4.0 \cdot \left(t \cdot a + x \cdot i\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019129 
(FPCore (x y z t a b c i j k)
  :name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1"
  (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))