\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 -4.804675611798075410020510588027620382471 \cdot 10^{-54}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right)\right) - \left(4 \cdot x\right) \cdot i\right) - k \cdot \left(j \cdot 27\right)\\
\mathbf{elif}\;t \le 4.848813046528950449871019478168488049573 \cdot 10^{-188}:\\
\;\;\;\;t \cdot \left(-a \cdot 4\right) - \left(\left(\left(i \cdot x\right) \cdot 4 - b \cdot c\right) + \left(k \cdot 27\right) \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right)\right) - \left(4 \cdot x\right) \cdot i\right) - k \cdot \left(j \cdot 27\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 r6313636 = x;
double r6313637 = 18.0;
double r6313638 = r6313636 * r6313637;
double r6313639 = y;
double r6313640 = r6313638 * r6313639;
double r6313641 = z;
double r6313642 = r6313640 * r6313641;
double r6313643 = t;
double r6313644 = r6313642 * r6313643;
double r6313645 = a;
double r6313646 = 4.0;
double r6313647 = r6313645 * r6313646;
double r6313648 = r6313647 * r6313643;
double r6313649 = r6313644 - r6313648;
double r6313650 = b;
double r6313651 = c;
double r6313652 = r6313650 * r6313651;
double r6313653 = r6313649 + r6313652;
double r6313654 = r6313636 * r6313646;
double r6313655 = i;
double r6313656 = r6313654 * r6313655;
double r6313657 = r6313653 - r6313656;
double r6313658 = j;
double r6313659 = 27.0;
double r6313660 = r6313658 * r6313659;
double r6313661 = k;
double r6313662 = r6313660 * r6313661;
double r6313663 = r6313657 - r6313662;
return r6313663;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r6313664 = t;
double r6313665 = -4.8046756117980754e-54;
bool r6313666 = r6313664 <= r6313665;
double r6313667 = b;
double r6313668 = c;
double r6313669 = r6313667 * r6313668;
double r6313670 = x;
double r6313671 = 18.0;
double r6313672 = r6313670 * r6313671;
double r6313673 = y;
double r6313674 = r6313672 * r6313673;
double r6313675 = z;
double r6313676 = r6313674 * r6313675;
double r6313677 = r6313676 * r6313664;
double r6313678 = a;
double r6313679 = 4.0;
double r6313680 = r6313678 * r6313679;
double r6313681 = r6313680 * r6313664;
double r6313682 = r6313677 - r6313681;
double r6313683 = r6313669 + r6313682;
double r6313684 = r6313679 * r6313670;
double r6313685 = i;
double r6313686 = r6313684 * r6313685;
double r6313687 = r6313683 - r6313686;
double r6313688 = k;
double r6313689 = j;
double r6313690 = 27.0;
double r6313691 = r6313689 * r6313690;
double r6313692 = r6313688 * r6313691;
double r6313693 = r6313687 - r6313692;
double r6313694 = 4.8488130465289504e-188;
bool r6313695 = r6313664 <= r6313694;
double r6313696 = -r6313680;
double r6313697 = r6313664 * r6313696;
double r6313698 = r6313685 * r6313670;
double r6313699 = r6313698 * r6313679;
double r6313700 = r6313699 - r6313669;
double r6313701 = r6313688 * r6313690;
double r6313702 = r6313701 * r6313689;
double r6313703 = r6313700 + r6313702;
double r6313704 = r6313697 - r6313703;
double r6313705 = r6313695 ? r6313704 : r6313693;
double r6313706 = r6313666 ? r6313693 : r6313705;
return r6313706;
}



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
Results
if t < -4.8046756117980754e-54 or 4.8488130465289504e-188 < t Initial program 3.5
if -4.8046756117980754e-54 < t < 4.8488130465289504e-188Initial program 8.5
Simplified8.8
Taylor expanded around 0 5.8
Final simplification4.4
herbie shell --seed 2019172
(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)))