Average Error: 5.8 → 6.3
Time: 34.6s
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(j \cdot 27\right) \cdot k \le -4.540980572012251526114420073985087439812 \cdot 10^{-316} \lor \neg \left(\left(j \cdot 27\right) \cdot k \le 2161642607386816256\right) \land \left(j \cdot 27\right) \cdot k \le 1.732330144710722980399686902944367574721 \cdot 10^{167}:\\ \;\;\;\;\left(\left(\left(18 \cdot \left(\left(t \cdot x\right) \cdot \left(z \cdot y\right)\right) - \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\\ \mathbf{else}:\\ \;\;\;\;\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) - \sqrt{\left(j \cdot 27\right) \cdot k} \cdot \sqrt{\left(j \cdot 27\right) \cdot k}\\ \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(j \cdot 27\right) \cdot k \le -4.540980572012251526114420073985087439812 \cdot 10^{-316} \lor \neg \left(\left(j \cdot 27\right) \cdot k \le 2161642607386816256\right) \land \left(j \cdot 27\right) \cdot k \le 1.732330144710722980399686902944367574721 \cdot 10^{167}:\\
\;\;\;\;\left(\left(\left(18 \cdot \left(\left(t \cdot x\right) \cdot \left(z \cdot y\right)\right) - \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\\

\mathbf{else}:\\
\;\;\;\;\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) - \sqrt{\left(j \cdot 27\right) \cdot k} \cdot \sqrt{\left(j \cdot 27\right) \cdot k}\\

\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 r82593 = x;
        double r82594 = 18.0;
        double r82595 = r82593 * r82594;
        double r82596 = y;
        double r82597 = r82595 * r82596;
        double r82598 = z;
        double r82599 = r82597 * r82598;
        double r82600 = t;
        double r82601 = r82599 * r82600;
        double r82602 = a;
        double r82603 = 4.0;
        double r82604 = r82602 * r82603;
        double r82605 = r82604 * r82600;
        double r82606 = r82601 - r82605;
        double r82607 = b;
        double r82608 = c;
        double r82609 = r82607 * r82608;
        double r82610 = r82606 + r82609;
        double r82611 = r82593 * r82603;
        double r82612 = i;
        double r82613 = r82611 * r82612;
        double r82614 = r82610 - r82613;
        double r82615 = j;
        double r82616 = 27.0;
        double r82617 = r82615 * r82616;
        double r82618 = k;
        double r82619 = r82617 * r82618;
        double r82620 = r82614 - r82619;
        return r82620;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r82621 = j;
        double r82622 = 27.0;
        double r82623 = r82621 * r82622;
        double r82624 = k;
        double r82625 = r82623 * r82624;
        double r82626 = -4.5409805720123e-316;
        bool r82627 = r82625 <= r82626;
        double r82628 = 2.1616426073868163e+18;
        bool r82629 = r82625 <= r82628;
        double r82630 = !r82629;
        double r82631 = 1.732330144710723e+167;
        bool r82632 = r82625 <= r82631;
        bool r82633 = r82630 && r82632;
        bool r82634 = r82627 || r82633;
        double r82635 = 18.0;
        double r82636 = t;
        double r82637 = x;
        double r82638 = r82636 * r82637;
        double r82639 = z;
        double r82640 = y;
        double r82641 = r82639 * r82640;
        double r82642 = r82638 * r82641;
        double r82643 = r82635 * r82642;
        double r82644 = a;
        double r82645 = 4.0;
        double r82646 = r82644 * r82645;
        double r82647 = r82646 * r82636;
        double r82648 = r82643 - r82647;
        double r82649 = b;
        double r82650 = c;
        double r82651 = r82649 * r82650;
        double r82652 = r82648 + r82651;
        double r82653 = r82637 * r82645;
        double r82654 = i;
        double r82655 = r82653 * r82654;
        double r82656 = r82652 - r82655;
        double r82657 = r82656 - r82625;
        double r82658 = r82637 * r82635;
        double r82659 = r82658 * r82640;
        double r82660 = r82659 * r82639;
        double r82661 = r82660 * r82636;
        double r82662 = r82661 - r82647;
        double r82663 = r82662 + r82651;
        double r82664 = r82663 - r82655;
        double r82665 = sqrt(r82625);
        double r82666 = r82665 * r82665;
        double r82667 = r82664 - r82666;
        double r82668 = r82634 ? r82657 : r82667;
        return r82668;
}

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 (* (* j 27.0) k) < -4.5409805720123e-316 or 2.1616426073868163e+18 < (* (* j 27.0) k) < 1.732330144710723e+167

    1. Initial program 5.9

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

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

      \[\leadsto \left(\left(\left(18 \cdot \color{blue}{\left(\left(t \cdot x\right) \cdot \left(z \cdot y\right)\right)} - \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 -4.5409805720123e-316 < (* (* j 27.0) k) < 2.1616426073868163e+18 or 1.732330144710723e+167 < (* (* j 27.0) k)

    1. Initial program 5.6

      \[\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 add-sqr-sqrt6.2

      \[\leadsto \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) - \color{blue}{\sqrt{\left(j \cdot 27\right) \cdot k} \cdot \sqrt{\left(j \cdot 27\right) \cdot k}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification6.3

    \[\leadsto \begin{array}{l} \mathbf{if}\;\left(j \cdot 27\right) \cdot k \le -4.540980572012251526114420073985087439812 \cdot 10^{-316} \lor \neg \left(\left(j \cdot 27\right) \cdot k \le 2161642607386816256\right) \land \left(j \cdot 27\right) \cdot k \le 1.732330144710722980399686902944367574721 \cdot 10^{167}:\\ \;\;\;\;\left(\left(\left(18 \cdot \left(\left(t \cdot x\right) \cdot \left(z \cdot y\right)\right) - \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\\ \mathbf{else}:\\ \;\;\;\;\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) - \sqrt{\left(j \cdot 27\right) \cdot k} \cdot \sqrt{\left(j \cdot 27\right) \cdot k}\\ \end{array}\]

Reproduce

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