Average Error: 5.4 → 1.6
Time: 42.9s
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}\;t \le -6.220885485035918 \cdot 10^{-49}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot \left(x \cdot y\right)\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{elif}\;t \le 1.737872251303518 \cdot 10^{+26}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(t \cdot z\right) \cdot y\right) \cdot \left(18.0 \cdot x\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot \left(x \cdot y\right)\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\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}\;t \le -6.220885485035918 \cdot 10^{-49}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot \left(x \cdot y\right)\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(18.0 \cdot \left(x \cdot y\right)\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\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 r4769459 = x;
        double r4769460 = 18.0;
        double r4769461 = r4769459 * r4769460;
        double r4769462 = y;
        double r4769463 = r4769461 * r4769462;
        double r4769464 = z;
        double r4769465 = r4769463 * r4769464;
        double r4769466 = t;
        double r4769467 = r4769465 * r4769466;
        double r4769468 = a;
        double r4769469 = 4.0;
        double r4769470 = r4769468 * r4769469;
        double r4769471 = r4769470 * r4769466;
        double r4769472 = r4769467 - r4769471;
        double r4769473 = b;
        double r4769474 = c;
        double r4769475 = r4769473 * r4769474;
        double r4769476 = r4769472 + r4769475;
        double r4769477 = r4769459 * r4769469;
        double r4769478 = i;
        double r4769479 = r4769477 * r4769478;
        double r4769480 = r4769476 - r4769479;
        double r4769481 = j;
        double r4769482 = 27.0;
        double r4769483 = r4769481 * r4769482;
        double r4769484 = k;
        double r4769485 = r4769483 * r4769484;
        double r4769486 = r4769480 - r4769485;
        return r4769486;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r4769487 = t;
        double r4769488 = -6.220885485035918e-49;
        bool r4769489 = r4769487 <= r4769488;
        double r4769490 = b;
        double r4769491 = c;
        double r4769492 = r4769490 * r4769491;
        double r4769493 = 18.0;
        double r4769494 = x;
        double r4769495 = y;
        double r4769496 = r4769494 * r4769495;
        double r4769497 = r4769493 * r4769496;
        double r4769498 = z;
        double r4769499 = r4769497 * r4769498;
        double r4769500 = r4769499 * r4769487;
        double r4769501 = a;
        double r4769502 = 4.0;
        double r4769503 = r4769501 * r4769502;
        double r4769504 = r4769503 * r4769487;
        double r4769505 = r4769500 - r4769504;
        double r4769506 = r4769492 + r4769505;
        double r4769507 = r4769494 * r4769502;
        double r4769508 = i;
        double r4769509 = r4769507 * r4769508;
        double r4769510 = r4769506 - r4769509;
        double r4769511 = 27.0;
        double r4769512 = j;
        double r4769513 = k;
        double r4769514 = r4769512 * r4769513;
        double r4769515 = r4769511 * r4769514;
        double r4769516 = r4769510 - r4769515;
        double r4769517 = 1.737872251303518e+26;
        bool r4769518 = r4769487 <= r4769517;
        double r4769519 = r4769487 * r4769498;
        double r4769520 = r4769519 * r4769495;
        double r4769521 = r4769493 * r4769494;
        double r4769522 = r4769520 * r4769521;
        double r4769523 = r4769522 - r4769504;
        double r4769524 = r4769492 + r4769523;
        double r4769525 = r4769524 - r4769509;
        double r4769526 = r4769525 - r4769515;
        double r4769527 = r4769518 ? r4769526 : r4769516;
        double r4769528 = r4769489 ? r4769516 : r4769527;
        return r4769528;
}

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 t < -6.220885485035918e-49 or 1.737872251303518e+26 < t

    1. Initial program 1.9

      \[\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. Using strategy rm
    3. Applied associate-*l*8.5

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot \left(z \cdot t\right)} - \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\]
    4. Taylor expanded around -inf 8.4

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

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

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(18.0 \cdot \left(x \cdot y\right)\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) - 27.0 \cdot \left(j \cdot k\right)\]

    if -6.220885485035918e-49 < t < 1.737872251303518e+26

    1. Initial program 7.6

      \[\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. Using strategy rm
    3. Applied associate-*l*4.5

      \[\leadsto \left(\left(\left(\color{blue}{\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot \left(z \cdot t\right)} - \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\]
    4. Taylor expanded around -inf 4.3

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

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

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

Reproduce

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