Average Error: 5.5 → 1.0
Time: 38.3s
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(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(27 \cdot j\right) \cdot k = -\infty:\\ \;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \sqrt[3]{j} \cdot \left(\left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(k \cdot 27\right)\right)\right)\right)\\ \mathbf{elif}\;\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(27 \cdot j\right) \cdot k \le 5.292429442197061463553396675246931672241 \cdot 10^{278}:\\ \;\;\;\;\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(27 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(x \cdot \left(t \cdot z\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot 27\right) \cdot j\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}\;\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(27 \cdot j\right) \cdot k = -\infty:\\
\;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \sqrt[3]{j} \cdot \left(\left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(k \cdot 27\right)\right)\right)\right)\\

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

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(x \cdot \left(t \cdot z\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot 27\right) \cdot j\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 r6001411 = x;
        double r6001412 = 18.0;
        double r6001413 = r6001411 * r6001412;
        double r6001414 = y;
        double r6001415 = r6001413 * r6001414;
        double r6001416 = z;
        double r6001417 = r6001415 * r6001416;
        double r6001418 = t;
        double r6001419 = r6001417 * r6001418;
        double r6001420 = a;
        double r6001421 = 4.0;
        double r6001422 = r6001420 * r6001421;
        double r6001423 = r6001422 * r6001418;
        double r6001424 = r6001419 - r6001423;
        double r6001425 = b;
        double r6001426 = c;
        double r6001427 = r6001425 * r6001426;
        double r6001428 = r6001424 + r6001427;
        double r6001429 = r6001411 * r6001421;
        double r6001430 = i;
        double r6001431 = r6001429 * r6001430;
        double r6001432 = r6001428 - r6001431;
        double r6001433 = j;
        double r6001434 = 27.0;
        double r6001435 = r6001433 * r6001434;
        double r6001436 = k;
        double r6001437 = r6001435 * r6001436;
        double r6001438 = r6001432 - r6001437;
        return r6001438;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r6001439 = t;
        double r6001440 = x;
        double r6001441 = 18.0;
        double r6001442 = r6001440 * r6001441;
        double r6001443 = y;
        double r6001444 = r6001442 * r6001443;
        double r6001445 = z;
        double r6001446 = r6001444 * r6001445;
        double r6001447 = r6001439 * r6001446;
        double r6001448 = a;
        double r6001449 = 4.0;
        double r6001450 = r6001448 * r6001449;
        double r6001451 = r6001450 * r6001439;
        double r6001452 = r6001447 - r6001451;
        double r6001453 = c;
        double r6001454 = b;
        double r6001455 = r6001453 * r6001454;
        double r6001456 = r6001452 + r6001455;
        double r6001457 = r6001440 * r6001449;
        double r6001458 = i;
        double r6001459 = r6001457 * r6001458;
        double r6001460 = r6001456 - r6001459;
        double r6001461 = 27.0;
        double r6001462 = j;
        double r6001463 = r6001461 * r6001462;
        double r6001464 = k;
        double r6001465 = r6001463 * r6001464;
        double r6001466 = r6001460 - r6001465;
        double r6001467 = -inf.0;
        bool r6001468 = r6001466 <= r6001467;
        double r6001469 = r6001439 * r6001440;
        double r6001470 = r6001445 * r6001469;
        double r6001471 = r6001443 * r6001470;
        double r6001472 = r6001441 * r6001471;
        double r6001473 = r6001440 * r6001458;
        double r6001474 = fma(r6001439, r6001448, r6001473);
        double r6001475 = cbrt(r6001462);
        double r6001476 = r6001475 * r6001475;
        double r6001477 = r6001464 * r6001461;
        double r6001478 = r6001476 * r6001477;
        double r6001479 = r6001475 * r6001478;
        double r6001480 = fma(r6001449, r6001474, r6001479);
        double r6001481 = r6001472 - r6001480;
        double r6001482 = fma(r6001454, r6001453, r6001481);
        double r6001483 = 5.2924294421970615e+278;
        bool r6001484 = r6001466 <= r6001483;
        double r6001485 = r6001439 * r6001445;
        double r6001486 = r6001440 * r6001485;
        double r6001487 = r6001443 * r6001486;
        double r6001488 = r6001441 * r6001487;
        double r6001489 = r6001477 * r6001462;
        double r6001490 = fma(r6001449, r6001474, r6001489);
        double r6001491 = r6001488 - r6001490;
        double r6001492 = fma(r6001454, r6001453, r6001491);
        double r6001493 = r6001484 ? r6001466 : r6001492;
        double r6001494 = r6001468 ? r6001482 : r6001493;
        return r6001494;
}

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

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)) (* (* j 27.0) k)) < -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. Simplified13.1

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

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

      \[\leadsto \mathsf{fma}\left(b, c, \color{blue}{\left(\left(z \cdot \left(t \cdot x\right)\right) \cdot y\right) \cdot 18} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), 27 \cdot \left(k \cdot j\right)\right)\right)\]
    7. Using strategy rm
    8. Applied associate-*r*4.6

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

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

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

    if -inf.0 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) < 5.2924294421970615e+278

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

    if 5.2924294421970615e+278 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k))

    1. Initial program 28.5

      \[\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. Simplified9.8

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

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

      \[\leadsto \mathsf{fma}\left(b, c, \color{blue}{\left(\left(z \cdot \left(t \cdot x\right)\right) \cdot y\right) \cdot 18} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), 27 \cdot \left(k \cdot j\right)\right)\right)\]
    7. Using strategy rm
    8. Applied associate-*r*6.3

      \[\leadsto \mathsf{fma}\left(b, c, \left(\left(z \cdot \left(t \cdot x\right)\right) \cdot y\right) \cdot 18 - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \color{blue}{\left(27 \cdot k\right) \cdot j}\right)\right)\]
    9. Using strategy rm
    10. Applied *-un-lft-identity6.3

      \[\leadsto \mathsf{fma}\left(b, c, \left(\left(z \cdot \left(t \cdot x\right)\right) \cdot \color{blue}{\left(1 \cdot y\right)}\right) \cdot 18 - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(27 \cdot k\right) \cdot j\right)\right)\]
    11. Applied associate-*r*6.3

      \[\leadsto \mathsf{fma}\left(b, c, \color{blue}{\left(\left(\left(z \cdot \left(t \cdot x\right)\right) \cdot 1\right) \cdot y\right)} \cdot 18 - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(27 \cdot k\right) \cdot j\right)\right)\]
    12. Simplified6.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\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(27 \cdot j\right) \cdot k = -\infty:\\ \;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \sqrt[3]{j} \cdot \left(\left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(k \cdot 27\right)\right)\right)\right)\\ \mathbf{elif}\;\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(27 \cdot j\right) \cdot k \le 5.292429442197061463553396675246931672241 \cdot 10^{278}:\\ \;\;\;\;\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(27 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(x \cdot \left(t \cdot z\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot 27\right) \cdot j\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019172 +o rules:numerics
(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)))