\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 -1.16781444686311266 \cdot 10^{-150} \lor \neg \left(t \le 4.1450304107497156 \cdot 10^{-137}\right):\\
\;\;\;\;\mathsf{fma}\left(t, \left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4, b \cdot c - \mathsf{fma}\left(x, 4 \cdot i, \left(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(t, 0 - a \cdot 4, b \cdot c - \mathsf{fma}\left(x, 4 \cdot i, \left(j \cdot 27\right) \cdot k\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 r635 = x;
double r636 = 18.0;
double r637 = r635 * r636;
double r638 = y;
double r639 = r637 * r638;
double r640 = z;
double r641 = r639 * r640;
double r642 = t;
double r643 = r641 * r642;
double r644 = a;
double r645 = 4.0;
double r646 = r644 * r645;
double r647 = r646 * r642;
double r648 = r643 - r647;
double r649 = b;
double r650 = c;
double r651 = r649 * r650;
double r652 = r648 + r651;
double r653 = r635 * r645;
double r654 = i;
double r655 = r653 * r654;
double r656 = r652 - r655;
double r657 = j;
double r658 = 27.0;
double r659 = r657 * r658;
double r660 = k;
double r661 = r659 * r660;
double r662 = r656 - r661;
return r662;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r663 = t;
double r664 = -1.1678144468631127e-150;
bool r665 = r663 <= r664;
double r666 = 4.1450304107497156e-137;
bool r667 = r663 <= r666;
double r668 = !r667;
bool r669 = r665 || r668;
double r670 = x;
double r671 = 18.0;
double r672 = r670 * r671;
double r673 = y;
double r674 = r672 * r673;
double r675 = z;
double r676 = r674 * r675;
double r677 = a;
double r678 = 4.0;
double r679 = r677 * r678;
double r680 = r676 - r679;
double r681 = b;
double r682 = c;
double r683 = r681 * r682;
double r684 = i;
double r685 = r678 * r684;
double r686 = j;
double r687 = 27.0;
double r688 = r686 * r687;
double r689 = k;
double r690 = cbrt(r689);
double r691 = r690 * r690;
double r692 = r688 * r691;
double r693 = r692 * r690;
double r694 = fma(r670, r685, r693);
double r695 = r683 - r694;
double r696 = fma(r663, r680, r695);
double r697 = 0.0;
double r698 = r697 - r679;
double r699 = r688 * r689;
double r700 = fma(r670, r685, r699);
double r701 = r683 - r700;
double r702 = fma(r663, r698, r701);
double r703 = r669 ? r696 : r702;
return r703;
}



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
if t < -1.1678144468631127e-150 or 4.1450304107497156e-137 < t Initial program 3.4
Simplified3.4
rmApplied add-cube-cbrt3.6
Applied associate-*r*3.6
if -1.1678144468631127e-150 < t < 4.1450304107497156e-137Initial program 9.6
Simplified9.6
Taylor expanded around 0 6.2
Final simplification4.5
herbie shell --seed 2020025 +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)))