Average Error: 5.6 → 5.7
Time: 30.7s
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}\;i \le -3.670913261354025603289537322978303432162 \cdot 10^{86}:\\ \;\;\;\;\left(t \cdot \left(\left(x \cdot \left(y \cdot 18\right)\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(z \cdot y\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + 27 \cdot \left(k \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}\;i \le -3.670913261354025603289537322978303432162 \cdot 10^{86}:\\
\;\;\;\;\left(t \cdot \left(\left(x \cdot \left(y \cdot 18\right)\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(z \cdot y\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + 27 \cdot \left(k \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 r71604 = x;
        double r71605 = 18.0;
        double r71606 = r71604 * r71605;
        double r71607 = y;
        double r71608 = r71606 * r71607;
        double r71609 = z;
        double r71610 = r71608 * r71609;
        double r71611 = t;
        double r71612 = r71610 * r71611;
        double r71613 = a;
        double r71614 = 4.0;
        double r71615 = r71613 * r71614;
        double r71616 = r71615 * r71611;
        double r71617 = r71612 - r71616;
        double r71618 = b;
        double r71619 = c;
        double r71620 = r71618 * r71619;
        double r71621 = r71617 + r71620;
        double r71622 = r71604 * r71614;
        double r71623 = i;
        double r71624 = r71622 * r71623;
        double r71625 = r71621 - r71624;
        double r71626 = j;
        double r71627 = 27.0;
        double r71628 = r71626 * r71627;
        double r71629 = k;
        double r71630 = r71628 * r71629;
        double r71631 = r71625 - r71630;
        return r71631;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
        double r71632 = i;
        double r71633 = -3.6709132613540256e+86;
        bool r71634 = r71632 <= r71633;
        double r71635 = t;
        double r71636 = x;
        double r71637 = y;
        double r71638 = 18.0;
        double r71639 = r71637 * r71638;
        double r71640 = r71636 * r71639;
        double r71641 = z;
        double r71642 = r71640 * r71641;
        double r71643 = a;
        double r71644 = 4.0;
        double r71645 = r71643 * r71644;
        double r71646 = r71642 - r71645;
        double r71647 = r71635 * r71646;
        double r71648 = b;
        double r71649 = c;
        double r71650 = r71648 * r71649;
        double r71651 = r71647 + r71650;
        double r71652 = r71636 * r71644;
        double r71653 = r71652 * r71632;
        double r71654 = j;
        double r71655 = 27.0;
        double r71656 = k;
        double r71657 = r71655 * r71656;
        double r71658 = r71654 * r71657;
        double r71659 = r71653 + r71658;
        double r71660 = r71651 - r71659;
        double r71661 = r71636 * r71638;
        double r71662 = r71641 * r71637;
        double r71663 = r71661 * r71662;
        double r71664 = r71663 - r71645;
        double r71665 = r71635 * r71664;
        double r71666 = r71665 + r71650;
        double r71667 = r71656 * r71654;
        double r71668 = r71655 * r71667;
        double r71669 = r71653 + r71668;
        double r71670 = r71666 - r71669;
        double r71671 = r71634 ? r71660 : r71670;
        return r71671;
}

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 i < -3.6709132613540256e+86

    1. Initial program 3.1

      \[\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. Simplified3.1

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

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

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

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

    if -3.6709132613540256e+86 < i

    1. Initial program 6.1

      \[\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. Simplified6.1

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

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

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

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

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

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

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

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

Reproduce

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