Average Error: 5.1 → 3.5
Time: 6.8s
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.05110049757782854 \cdot 10^{65}:\\ \;\;\;\;\left(\left(\left(\left(x \cdot \left(\left(18 \cdot y\right) \cdot z\right)\right) \cdot t - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\ \mathbf{elif}\;t \le 3.21315296623720254 \cdot 10^{-90}:\\ \;\;\;\;\left(\left(\left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot \left(z \cdot t\right) - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot z\right) \cdot t - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\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.05110049757782854 \cdot 10^{65}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot \left(\left(18 \cdot y\right) \cdot z\right)\right) \cdot t - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\

\mathbf{elif}\;t \le 3.21315296623720254 \cdot 10^{-90}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot \left(z \cdot t\right) - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\

\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot z\right) \cdot t - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \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 r109512 = x;
        double r109513 = 18.0;
        double r109514 = r109512 * r109513;
        double r109515 = y;
        double r109516 = r109514 * r109515;
        double r109517 = z;
        double r109518 = r109516 * r109517;
        double r109519 = t;
        double r109520 = r109518 * r109519;
        double r109521 = a;
        double r109522 = 4.0;
        double r109523 = r109521 * r109522;
        double r109524 = r109523 * r109519;
        double r109525 = r109520 - r109524;
        double r109526 = b;
        double r109527 = c;
        double r109528 = r109526 * r109527;
        double r109529 = r109525 + r109528;
        double r109530 = r109512 * r109522;
        double r109531 = i;
        double r109532 = r109530 * r109531;
        double r109533 = r109529 - r109532;
        double r109534 = j;
        double r109535 = 27.0;
        double r109536 = r109534 * r109535;
        double r109537 = k;
        double r109538 = r109536 * r109537;
        double r109539 = r109533 - r109538;
        return r109539;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r109540 = t;
        double r109541 = -2.0511004975778285e+65;
        bool r109542 = r109540 <= r109541;
        double r109543 = x;
        double r109544 = 18.0;
        double r109545 = y;
        double r109546 = r109544 * r109545;
        double r109547 = z;
        double r109548 = r109546 * r109547;
        double r109549 = r109543 * r109548;
        double r109550 = r109549 * r109540;
        double r109551 = a;
        double r109552 = 4.0;
        double r109553 = r109552 * r109540;
        double r109554 = r109551 * r109553;
        double r109555 = r109550 - r109554;
        double r109556 = b;
        double r109557 = c;
        double r109558 = r109556 * r109557;
        double r109559 = r109555 + r109558;
        double r109560 = r109543 * r109552;
        double r109561 = i;
        double r109562 = r109560 * r109561;
        double r109563 = r109559 - r109562;
        double r109564 = j;
        double r109565 = 27.0;
        double r109566 = r109564 * r109565;
        double r109567 = k;
        double r109568 = r109566 * r109567;
        double r109569 = r109563 - r109568;
        double r109570 = 3.2131529662372025e-90;
        bool r109571 = r109540 <= r109570;
        double r109572 = r109543 * r109546;
        double r109573 = r109547 * r109540;
        double r109574 = r109572 * r109573;
        double r109575 = r109574 - r109554;
        double r109576 = r109575 + r109558;
        double r109577 = r109576 - r109562;
        double r109578 = r109577 - r109568;
        double r109579 = r109572 * r109547;
        double r109580 = r109579 * r109540;
        double r109581 = r109580 - r109554;
        double r109582 = r109581 + r109558;
        double r109583 = r109582 - r109562;
        double r109584 = r109565 * r109567;
        double r109585 = r109564 * r109584;
        double r109586 = r109583 - r109585;
        double r109587 = r109571 ? r109578 : r109586;
        double r109588 = r109542 ? r109569 : r109587;
        return r109588;
}

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.0511004975778285e+65

    1. Initial program 1.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. Using strategy rm
    3. Applied associate-*l*1.2

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

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

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

    if -2.0511004975778285e+65 < t < 3.2131529662372025e-90

    1. Initial program 7.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*7.0

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

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

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

    if 3.2131529662372025e-90 < t

    1. Initial program 2.7

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -2.05110049757782854 \cdot 10^{65}:\\ \;\;\;\;\left(\left(\left(\left(x \cdot \left(\left(18 \cdot y\right) \cdot z\right)\right) \cdot t - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\ \mathbf{elif}\;t \le 3.21315296623720254 \cdot 10^{-90}:\\ \;\;\;\;\left(\left(\left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot \left(z \cdot t\right) - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot z\right) \cdot t - a \cdot \left(4 \cdot t\right)\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\ \end{array}\]

Reproduce

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