double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r13871677 = x;
double r13871678 = 18.0;
double r13871679 = r13871677 * r13871678;
double r13871680 = y;
double r13871681 = r13871679 * r13871680;
double r13871682 = z;
double r13871683 = r13871681 * r13871682;
double r13871684 = t;
double r13871685 = r13871683 * r13871684;
double r13871686 = a;
double r13871687 = 4.0;
double r13871688 = r13871686 * r13871687;
double r13871689 = r13871688 * r13871684;
double r13871690 = r13871685 - r13871689;
double r13871691 = b;
double r13871692 = c;
double r13871693 = r13871691 * r13871692;
double r13871694 = r13871690 + r13871693;
double r13871695 = r13871677 * r13871687;
double r13871696 = i;
double r13871697 = r13871695 * r13871696;
double r13871698 = r13871694 - r13871697;
double r13871699 = j;
double r13871700 = 27.0;
double r13871701 = r13871699 * r13871700;
double r13871702 = k;
double r13871703 = r13871701 * r13871702;
double r13871704 = r13871698 - r13871703;
return r13871704;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r13871705 = t;
double r13871706 = -9.40853155460478e-81;
bool r13871707 = r13871705 <= r13871706;
double r13871708 = c;
double r13871709 = b;
double r13871710 = r13871708 * r13871709;
double r13871711 = i;
double r13871712 = x;
double r13871713 = 4.0;
double r13871714 = r13871712 * r13871713;
double r13871715 = r13871711 * r13871714;
double r13871716 = j;
double r13871717 = k;
double r13871718 = r13871716 * r13871717;
double r13871719 = 27.0;
double r13871720 = r13871718 * r13871719;
double r13871721 = r13871715 + r13871720;
double r13871722 = r13871710 - r13871721;
double r13871723 = z;
double r13871724 = r13871712 * r13871723;
double r13871725 = y;
double r13871726 = 18.0;
double r13871727 = r13871725 * r13871726;
double r13871728 = r13871724 * r13871727;
double r13871729 = a;
double r13871730 = r13871729 * r13871713;
double r13871731 = r13871728 - r13871730;
double r13871732 = r13871705 * r13871731;
double r13871733 = r13871722 + r13871732;
double r13871734 = 2.6598274789675712e-36;
bool r13871735 = r13871705 <= r13871734;
double r13871736 = r13871726 * r13871712;
double r13871737 = r13871736 * r13871725;
double r13871738 = r13871705 * r13871723;
double r13871739 = r13871737 * r13871738;
double r13871740 = r13871730 * r13871705;
double r13871741 = r13871739 - r13871740;
double r13871742 = r13871710 + r13871741;
double r13871743 = r13871742 - r13871715;
double r13871744 = r13871716 * r13871719;
double r13871745 = r13871744 * r13871717;
double r13871746 = r13871743 - r13871745;
double r13871747 = r13871735 ? r13871746 : r13871733;
double r13871748 = r13871707 ? r13871733 : r13871747;
return r13871748;
}
\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\begin{array}{l}
\mathbf{if}\;t \le -9.40853155460478 \cdot 10^{-81}:\\
\;\;\;\;\left(c \cdot b - \left(i \cdot \left(x \cdot 4.0\right) + \left(j \cdot k\right) \cdot 27.0\right)\right) + t \cdot \left(\left(x \cdot z\right) \cdot \left(y \cdot 18.0\right) - a \cdot 4.0\right)\\
\mathbf{elif}\;t \le 2.6598274789675712 \cdot 10^{-36}:\\
\;\;\;\;\left(\left(c \cdot b + \left(\left(\left(18.0 \cdot x\right) \cdot y\right) \cdot \left(t \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - i \cdot \left(x \cdot 4.0\right)\right) - \left(j \cdot 27.0\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\left(c \cdot b - \left(i \cdot \left(x \cdot 4.0\right) + \left(j \cdot k\right) \cdot 27.0\right)\right) + t \cdot \left(\left(x \cdot z\right) \cdot \left(y \cdot 18.0\right) - a \cdot 4.0\right)\\
\end{array}


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 < -9.40853155460478e-81 or 2.6598274789675712e-36 < t Initial program 2.5
Simplified2.3
Taylor expanded around 0 2.3
Taylor expanded around inf 2.4
Simplified2.3
if -9.40853155460478e-81 < t < 2.6598274789675712e-36Initial program 7.8
rmApplied associate-*l*3.8
Final simplification3.1
herbie shell --seed 2019101
(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)))