Average Error: 5.7 → 0.8
Time: 41.7s
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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i = -\infty \lor \neg \left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le 1.332226899097801573653352800247938704487 \cdot 10^{292}\right):\\ \;\;\;\;\left(\left(c \cdot b + \left(\left(y \cdot \left(x \cdot \left(t \cdot z\right)\right)\right) \cdot 18 - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - k \cdot \left(j \cdot 27\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(k \cdot 27\right) \cdot j\\ \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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i = -\infty \lor \neg \left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le 1.332226899097801573653352800247938704487 \cdot 10^{292}\right):\\
\;\;\;\;\left(\left(c \cdot b + \left(\left(y \cdot \left(x \cdot \left(t \cdot z\right)\right)\right) \cdot 18 - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - k \cdot \left(j \cdot 27\right)\\

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

\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 r107360 = x;
        double r107361 = 18.0;
        double r107362 = r107360 * r107361;
        double r107363 = y;
        double r107364 = r107362 * r107363;
        double r107365 = z;
        double r107366 = r107364 * r107365;
        double r107367 = t;
        double r107368 = r107366 * r107367;
        double r107369 = a;
        double r107370 = 4.0;
        double r107371 = r107369 * r107370;
        double r107372 = r107371 * r107367;
        double r107373 = r107368 - r107372;
        double r107374 = b;
        double r107375 = c;
        double r107376 = r107374 * r107375;
        double r107377 = r107373 + r107376;
        double r107378 = r107360 * r107370;
        double r107379 = i;
        double r107380 = r107378 * r107379;
        double r107381 = r107377 - r107380;
        double r107382 = j;
        double r107383 = 27.0;
        double r107384 = r107382 * r107383;
        double r107385 = k;
        double r107386 = r107384 * r107385;
        double r107387 = r107381 - r107386;
        return r107387;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r107388 = t;
        double r107389 = x;
        double r107390 = 18.0;
        double r107391 = r107389 * r107390;
        double r107392 = y;
        double r107393 = r107391 * r107392;
        double r107394 = z;
        double r107395 = r107393 * r107394;
        double r107396 = r107388 * r107395;
        double r107397 = a;
        double r107398 = 4.0;
        double r107399 = r107397 * r107398;
        double r107400 = r107399 * r107388;
        double r107401 = r107396 - r107400;
        double r107402 = c;
        double r107403 = b;
        double r107404 = r107402 * r107403;
        double r107405 = r107401 + r107404;
        double r107406 = r107389 * r107398;
        double r107407 = i;
        double r107408 = r107406 * r107407;
        double r107409 = r107405 - r107408;
        double r107410 = -inf.0;
        bool r107411 = r107409 <= r107410;
        double r107412 = 1.3322268990978016e+292;
        bool r107413 = r107409 <= r107412;
        double r107414 = !r107413;
        bool r107415 = r107411 || r107414;
        double r107416 = r107388 * r107394;
        double r107417 = r107389 * r107416;
        double r107418 = r107392 * r107417;
        double r107419 = r107418 * r107390;
        double r107420 = r107419 - r107400;
        double r107421 = r107404 + r107420;
        double r107422 = r107421 - r107408;
        double r107423 = k;
        double r107424 = j;
        double r107425 = 27.0;
        double r107426 = r107424 * r107425;
        double r107427 = r107423 * r107426;
        double r107428 = r107422 - r107427;
        double r107429 = r107423 * r107425;
        double r107430 = r107429 * r107424;
        double r107431 = r107409 - r107430;
        double r107432 = r107415 ? r107428 : r107431;
        return r107432;
}

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 (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0 or 1.3322268990978016e+292 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i))

    1. Initial program 50.4

      \[\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. Taylor expanded around inf 32.1

      \[\leadsto \left(\left(\left(\color{blue}{18 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)} - \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\]
    3. Simplified7.7

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(t \cdot x\right) \cdot z\right) \cdot y\right) \cdot 18} - \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\]
    4. Using strategy rm
    5. Applied *-un-lft-identity7.7

      \[\leadsto \left(\left(\left(\left(\left(\left(t \cdot x\right) \cdot z\right) \cdot \color{blue}{\left(1 \cdot y\right)}\right) \cdot 18 - \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\]
    6. Applied associate-*r*7.7

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(\left(\left(t \cdot x\right) \cdot z\right) \cdot 1\right) \cdot y\right)} \cdot 18 - \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\]
    7. Simplified5.1

      \[\leadsto \left(\left(\left(\left(\color{blue}{\left(x \cdot \left(z \cdot t\right)\right)} \cdot y\right) \cdot 18 - \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\]

    if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 1.3322268990978016e+292

    1. Initial program 0.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. Using strategy rm
    3. Applied associate-*l*0.3

      \[\leadsto \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) - \color{blue}{j \cdot \left(27 \cdot k\right)}\]
    4. Simplified0.3

      \[\leadsto \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) - j \cdot \color{blue}{\left(k \cdot 27\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i = -\infty \lor \neg \left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i \le 1.332226899097801573653352800247938704487 \cdot 10^{292}\right):\\ \;\;\;\;\left(\left(c \cdot b + \left(\left(y \cdot \left(x \cdot \left(t \cdot z\right)\right)\right) \cdot 18 - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - k \cdot \left(j \cdot 27\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(k \cdot 27\right) \cdot j\\ \end{array}\]

Reproduce

herbie shell --seed 2019194 
(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)))