Average Error: 5.2 → 4.6
Time: 7.4s
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.3859305432149377 \cdot 10^{-202}:\\ \;\;\;\;t \cdot \left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot z - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\right)\\ \mathbf{elif}\;t \le 1.24034573106726284 \cdot 10^{-70}:\\ \;\;\;\;t \cdot \left(0 - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\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.3859305432149377 \cdot 10^{-202}:\\
\;\;\;\;t \cdot \left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot z - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\right)\\

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

\mathbf{else}:\\
\;\;\;\;t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\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 r171472 = x;
        double r171473 = 18.0;
        double r171474 = r171472 * r171473;
        double r171475 = y;
        double r171476 = r171474 * r171475;
        double r171477 = z;
        double r171478 = r171476 * r171477;
        double r171479 = t;
        double r171480 = r171478 * r171479;
        double r171481 = a;
        double r171482 = 4.0;
        double r171483 = r171481 * r171482;
        double r171484 = r171483 * r171479;
        double r171485 = r171480 - r171484;
        double r171486 = b;
        double r171487 = c;
        double r171488 = r171486 * r171487;
        double r171489 = r171485 + r171488;
        double r171490 = r171472 * r171482;
        double r171491 = i;
        double r171492 = r171490 * r171491;
        double r171493 = r171489 - r171492;
        double r171494 = j;
        double r171495 = 27.0;
        double r171496 = r171494 * r171495;
        double r171497 = k;
        double r171498 = r171496 * r171497;
        double r171499 = r171493 - r171498;
        return r171499;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r171500 = t;
        double r171501 = -2.3859305432149377e-202;
        bool r171502 = r171500 <= r171501;
        double r171503 = x;
        double r171504 = 18.0;
        double r171505 = y;
        double r171506 = r171504 * r171505;
        double r171507 = r171503 * r171506;
        double r171508 = z;
        double r171509 = r171507 * r171508;
        double r171510 = a;
        double r171511 = 4.0;
        double r171512 = r171510 * r171511;
        double r171513 = r171509 - r171512;
        double r171514 = r171500 * r171513;
        double r171515 = b;
        double r171516 = c;
        double r171517 = r171515 * r171516;
        double r171518 = r171503 * r171511;
        double r171519 = i;
        double r171520 = r171518 * r171519;
        double r171521 = j;
        double r171522 = 27.0;
        double r171523 = r171521 * r171522;
        double r171524 = k;
        double r171525 = r171523 * r171524;
        double r171526 = r171520 + r171525;
        double r171527 = r171517 - r171526;
        double r171528 = r171514 + r171527;
        double r171529 = 1.2403457310672628e-70;
        bool r171530 = r171500 <= r171529;
        double r171531 = 0.0;
        double r171532 = r171531 - r171512;
        double r171533 = r171500 * r171532;
        double r171534 = r171522 * r171524;
        double r171535 = r171521 * r171534;
        double r171536 = r171520 + r171535;
        double r171537 = r171517 - r171536;
        double r171538 = r171533 + r171537;
        double r171539 = r171503 * r171504;
        double r171540 = r171505 * r171508;
        double r171541 = r171539 * r171540;
        double r171542 = r171541 - r171512;
        double r171543 = r171500 * r171542;
        double r171544 = r171543 + r171537;
        double r171545 = r171530 ? r171538 : r171544;
        double r171546 = r171502 ? r171528 : r171545;
        return r171546;
}

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.3859305432149377e-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}{t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*4.2

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

    if -2.3859305432149377e-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}{t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\right)}\]
    3. Using strategy rm
    4. Applied associate-*l*8.4

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -2.3859305432149377 \cdot 10^{-202}:\\ \;\;\;\;t \cdot \left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot z - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\right)\\ \mathbf{elif}\;t \le 1.24034573106726284 \cdot 10^{-70}:\\ \;\;\;\;t \cdot \left(0 - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\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)))