Average Error: 5.5 → 3.3
Time: 7.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(\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 = -\infty:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\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\\ \mathbf{elif}\;\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 \le 1.433693085574820316107865306676310981183 \cdot 10^{307}:\\ \;\;\;\;\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 \left(27 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right)\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\\ \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(\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 = -\infty:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\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\\

\mathbf{elif}\;\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 \le 1.433693085574820316107865306676310981183 \cdot 10^{307}:\\
\;\;\;\;\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 \left(27 \cdot k\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right)\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\\

\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 r157355 = x;
        double r157356 = 18.0;
        double r157357 = r157355 * r157356;
        double r157358 = y;
        double r157359 = r157357 * r157358;
        double r157360 = z;
        double r157361 = r157359 * r157360;
        double r157362 = t;
        double r157363 = r157361 * r157362;
        double r157364 = a;
        double r157365 = 4.0;
        double r157366 = r157364 * r157365;
        double r157367 = r157366 * r157362;
        double r157368 = r157363 - r157367;
        double r157369 = b;
        double r157370 = c;
        double r157371 = r157369 * r157370;
        double r157372 = r157368 + r157371;
        double r157373 = r157355 * r157365;
        double r157374 = i;
        double r157375 = r157373 * r157374;
        double r157376 = r157372 - r157375;
        double r157377 = j;
        double r157378 = 27.0;
        double r157379 = r157377 * r157378;
        double r157380 = k;
        double r157381 = r157379 * r157380;
        double r157382 = r157376 - r157381;
        return r157382;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r157383 = x;
        double r157384 = 18.0;
        double r157385 = r157383 * r157384;
        double r157386 = y;
        double r157387 = r157385 * r157386;
        double r157388 = z;
        double r157389 = r157387 * r157388;
        double r157390 = t;
        double r157391 = r157389 * r157390;
        double r157392 = a;
        double r157393 = 4.0;
        double r157394 = r157392 * r157393;
        double r157395 = r157394 * r157390;
        double r157396 = r157391 - r157395;
        double r157397 = b;
        double r157398 = c;
        double r157399 = r157397 * r157398;
        double r157400 = r157396 + r157399;
        double r157401 = r157383 * r157393;
        double r157402 = i;
        double r157403 = r157401 * r157402;
        double r157404 = r157400 - r157403;
        double r157405 = -inf.0;
        bool r157406 = r157404 <= r157405;
        double r157407 = r157388 * r157390;
        double r157408 = r157387 * r157407;
        double r157409 = r157408 - r157395;
        double r157410 = r157409 + r157399;
        double r157411 = r157410 - r157403;
        double r157412 = j;
        double r157413 = 27.0;
        double r157414 = r157412 * r157413;
        double r157415 = k;
        double r157416 = r157414 * r157415;
        double r157417 = r157411 - r157416;
        double r157418 = 1.4336930855748203e+307;
        bool r157419 = r157404 <= r157418;
        double r157420 = r157413 * r157415;
        double r157421 = r157412 * r157420;
        double r157422 = r157404 - r157421;
        double r157423 = r157386 * r157388;
        double r157424 = r157385 * r157423;
        double r157425 = r157424 * r157390;
        double r157426 = r157425 - r157395;
        double r157427 = r157426 + r157399;
        double r157428 = r157427 - r157403;
        double r157429 = r157428 - r157416;
        double r157430 = r157419 ? r157422 : r157429;
        double r157431 = r157406 ? r157417 : r157430;
        return r157431;
}

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

    1. Initial program 64.0

      \[\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*35.4

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

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

    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)}\]

    if 1.4336930855748203e+307 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i))

    1. Initial program 62.1

      \[\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*38.1

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right)\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\]
  3. Recombined 3 regimes into one program.
  4. Final simplification3.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\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 = -\infty:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\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\\ \mathbf{elif}\;\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 \le 1.433693085574820316107865306676310981183 \cdot 10^{307}:\\ \;\;\;\;\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 \left(27 \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right)\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\\ \end{array}\]

Reproduce

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