Average Error: 5.8 → 2.0
Time: 23.3s
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 -5.433898367772061 \cdot 10^{-33}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(\left(z \cdot y\right) \cdot x\right)\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{elif}\;t \le 8.769336708467037 \cdot 10^{+80}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(z \cdot \left(x \cdot t\right)\right) \cdot y\right) \cdot 18.0 - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(27.0 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(\left(z \cdot y\right) \cdot x\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \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 -5.433898367772061 \cdot 10^{-33}:\\
\;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(\left(z \cdot y\right) \cdot x\right)\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{elif}\;t \le 8.769336708467037 \cdot 10^{+80}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(z \cdot \left(x \cdot t\right)\right) \cdot y\right) \cdot 18.0 - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(27.0 \cdot j\right) \cdot k\\

\mathbf{else}:\\
\;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(\left(z \cdot y\right) \cdot x\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \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 r5291385 = x;
        double r5291386 = 18.0;
        double r5291387 = r5291385 * r5291386;
        double r5291388 = y;
        double r5291389 = r5291387 * r5291388;
        double r5291390 = z;
        double r5291391 = r5291389 * r5291390;
        double r5291392 = t;
        double r5291393 = r5291391 * r5291392;
        double r5291394 = a;
        double r5291395 = 4.0;
        double r5291396 = r5291394 * r5291395;
        double r5291397 = r5291396 * r5291392;
        double r5291398 = r5291393 - r5291397;
        double r5291399 = b;
        double r5291400 = c;
        double r5291401 = r5291399 * r5291400;
        double r5291402 = r5291398 + r5291401;
        double r5291403 = r5291385 * r5291395;
        double r5291404 = i;
        double r5291405 = r5291403 * r5291404;
        double r5291406 = r5291402 - r5291405;
        double r5291407 = j;
        double r5291408 = 27.0;
        double r5291409 = r5291407 * r5291408;
        double r5291410 = k;
        double r5291411 = r5291409 * r5291410;
        double r5291412 = r5291406 - r5291411;
        return r5291412;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r5291413 = t;
        double r5291414 = -5.433898367772061e-33;
        bool r5291415 = r5291413 <= r5291414;
        double r5291416 = b;
        double r5291417 = c;
        double r5291418 = r5291416 * r5291417;
        double r5291419 = 18.0;
        double r5291420 = z;
        double r5291421 = y;
        double r5291422 = r5291420 * r5291421;
        double r5291423 = x;
        double r5291424 = r5291422 * r5291423;
        double r5291425 = r5291413 * r5291424;
        double r5291426 = r5291419 * r5291425;
        double r5291427 = a;
        double r5291428 = 4.0;
        double r5291429 = r5291427 * r5291428;
        double r5291430 = r5291429 * r5291413;
        double r5291431 = r5291426 - r5291430;
        double r5291432 = r5291418 + r5291431;
        double r5291433 = r5291423 * r5291428;
        double r5291434 = i;
        double r5291435 = r5291433 * r5291434;
        double r5291436 = r5291432 - r5291435;
        double r5291437 = 27.0;
        double r5291438 = j;
        double r5291439 = k;
        double r5291440 = r5291438 * r5291439;
        double r5291441 = r5291437 * r5291440;
        double r5291442 = r5291436 - r5291441;
        double r5291443 = 8.769336708467037e+80;
        bool r5291444 = r5291413 <= r5291443;
        double r5291445 = r5291423 * r5291413;
        double r5291446 = r5291420 * r5291445;
        double r5291447 = r5291446 * r5291421;
        double r5291448 = r5291447 * r5291419;
        double r5291449 = r5291448 - r5291430;
        double r5291450 = r5291418 + r5291449;
        double r5291451 = r5291450 - r5291435;
        double r5291452 = r5291437 * r5291438;
        double r5291453 = r5291452 * r5291439;
        double r5291454 = r5291451 - r5291453;
        double r5291455 = r5291437 * r5291439;
        double r5291456 = r5291438 * r5291455;
        double r5291457 = r5291436 - r5291456;
        double r5291458 = r5291444 ? r5291454 : r5291457;
        double r5291459 = r5291415 ? r5291442 : r5291458;
        return r5291459;
}

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 < -5.433898367772061e-33

    1. Initial program 2.3

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

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

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

    if -5.433898367772061e-33 < t < 8.769336708467037e+80

    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. Taylor expanded around inf 8.5

      \[\leadsto \left(\left(\left(\color{blue}{18.0 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\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\]
    3. Using strategy rm
    4. Applied associate-*r*5.9

      \[\leadsto \left(\left(\left(18.0 \cdot \color{blue}{\left(\left(t \cdot x\right) \cdot \left(z \cdot y\right)\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\]
    5. Using strategy rm
    6. Applied associate-*r*2.0

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

    if 8.769336708467037e+80 < 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. Taylor expanded around inf 1.3

      \[\leadsto \left(\left(\left(\color{blue}{18.0 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\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\]
    3. Using strategy rm
    4. Applied associate-*l*1.5

      \[\leadsto \left(\left(\left(18.0 \cdot \left(t \cdot \left(x \cdot \left(z \cdot y\right)\right)\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}{j \cdot \left(27.0 \cdot k\right)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification2.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -5.433898367772061 \cdot 10^{-33}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(\left(z \cdot y\right) \cdot x\right)\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{elif}\;t \le 8.769336708467037 \cdot 10^{+80}:\\ \;\;\;\;\left(\left(b \cdot c + \left(\left(\left(z \cdot \left(x \cdot t\right)\right) \cdot y\right) \cdot 18.0 - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(27.0 \cdot j\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\left(\left(b \cdot c + \left(18.0 \cdot \left(t \cdot \left(\left(z \cdot y\right) \cdot x\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\ \end{array}\]

Reproduce

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