\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 7.404784423365476984151156392838614414705 \cdot 10^{68}:\\
\;\;\;\;\left(\left(\left(x \cdot \left(y \cdot 18\right)\right) \cdot \left(z \cdot t\right) + t \cdot \left(-a \cdot 4\right)\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right) - a \cdot 4\right) \cdot t + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\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 r101987 = x;
double r101988 = 18.0;
double r101989 = r101987 * r101988;
double r101990 = y;
double r101991 = r101989 * r101990;
double r101992 = z;
double r101993 = r101991 * r101992;
double r101994 = t;
double r101995 = r101993 * r101994;
double r101996 = a;
double r101997 = 4.0;
double r101998 = r101996 * r101997;
double r101999 = r101998 * r101994;
double r102000 = r101995 - r101999;
double r102001 = b;
double r102002 = c;
double r102003 = r102001 * r102002;
double r102004 = r102000 + r102003;
double r102005 = r101987 * r101997;
double r102006 = i;
double r102007 = r102005 * r102006;
double r102008 = r102004 - r102007;
double r102009 = j;
double r102010 = 27.0;
double r102011 = r102009 * r102010;
double r102012 = k;
double r102013 = r102011 * r102012;
double r102014 = r102008 - r102013;
return r102014;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r102015 = t;
double r102016 = 7.404784423365477e+68;
bool r102017 = r102015 <= r102016;
double r102018 = x;
double r102019 = y;
double r102020 = 18.0;
double r102021 = r102019 * r102020;
double r102022 = r102018 * r102021;
double r102023 = z;
double r102024 = r102023 * r102015;
double r102025 = r102022 * r102024;
double r102026 = a;
double r102027 = 4.0;
double r102028 = r102026 * r102027;
double r102029 = -r102028;
double r102030 = r102015 * r102029;
double r102031 = r102025 + r102030;
double r102032 = b;
double r102033 = c;
double r102034 = r102032 * r102033;
double r102035 = r102031 + r102034;
double r102036 = r102018 * r102027;
double r102037 = i;
double r102038 = r102036 * r102037;
double r102039 = j;
double r102040 = 27.0;
double r102041 = r102039 * r102040;
double r102042 = k;
double r102043 = r102041 * r102042;
double r102044 = r102038 + r102043;
double r102045 = r102035 - r102044;
double r102046 = r102023 * r102019;
double r102047 = r102018 * r102046;
double r102048 = r102020 * r102047;
double r102049 = r102048 - r102028;
double r102050 = r102049 * r102015;
double r102051 = r102050 + r102034;
double r102052 = r102051 - r102044;
double r102053 = r102017 ? r102045 : r102052;
return r102053;
}



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 < 7.404784423365477e+68Initial program 5.6
Simplified5.6
rmApplied associate-*l*5.6
Simplified5.6
rmApplied sub-neg5.6
Applied distribute-lft-in5.6
Simplified4.9
if 7.404784423365477e+68 < t Initial program 1.4
Simplified1.4
rmApplied pow11.4
Applied pow11.4
Applied pow11.4
Applied pow11.4
Applied pow-prod-down1.4
Applied pow-prod-down1.4
Applied pow-prod-down1.4
Simplified1.7
Final simplification4.5
herbie shell --seed 2019209
(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)))