\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\begin{array}{l}
\mathbf{if}\;x \le -9.62427126302633396 \cdot 10^{52} \lor \neg \left(x \le 7.24120035060947113 \cdot 10^{55}\right):\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, \mathsf{fma}\left(j, c \cdot t - i \cdot y, \left(x \cdot \left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\right) \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, \mathsf{fma}\left(j, c \cdot t - i \cdot y, \left(-t \cdot \left(x \cdot a\right)\right) + \left(x \cdot z\right) \cdot y\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 r131154 = x;
double r131155 = y;
double r131156 = z;
double r131157 = r131155 * r131156;
double r131158 = t;
double r131159 = a;
double r131160 = r131158 * r131159;
double r131161 = r131157 - r131160;
double r131162 = r131154 * r131161;
double r131163 = b;
double r131164 = c;
double r131165 = r131164 * r131156;
double r131166 = i;
double r131167 = r131166 * r131159;
double r131168 = r131165 - r131167;
double r131169 = r131163 * r131168;
double r131170 = r131162 - r131169;
double r131171 = j;
double r131172 = r131164 * r131158;
double r131173 = r131166 * r131155;
double r131174 = r131172 - r131173;
double r131175 = r131171 * r131174;
double r131176 = r131170 + r131175;
return r131176;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r131177 = x;
double r131178 = -9.624271263026334e+52;
bool r131179 = r131177 <= r131178;
double r131180 = 7.241200350609471e+55;
bool r131181 = r131177 <= r131180;
double r131182 = !r131181;
bool r131183 = r131179 || r131182;
double r131184 = i;
double r131185 = a;
double r131186 = r131184 * r131185;
double r131187 = c;
double r131188 = z;
double r131189 = r131187 * r131188;
double r131190 = r131186 - r131189;
double r131191 = b;
double r131192 = j;
double r131193 = t;
double r131194 = r131187 * r131193;
double r131195 = y;
double r131196 = r131184 * r131195;
double r131197 = r131194 - r131196;
double r131198 = r131195 * r131188;
double r131199 = r131193 * r131185;
double r131200 = r131198 - r131199;
double r131201 = cbrt(r131200);
double r131202 = r131201 * r131201;
double r131203 = r131177 * r131202;
double r131204 = r131203 * r131201;
double r131205 = fma(r131192, r131197, r131204);
double r131206 = fma(r131190, r131191, r131205);
double r131207 = r131177 * r131185;
double r131208 = r131193 * r131207;
double r131209 = -r131208;
double r131210 = r131177 * r131188;
double r131211 = r131210 * r131195;
double r131212 = r131209 + r131211;
double r131213 = fma(r131192, r131197, r131212);
double r131214 = fma(r131190, r131191, r131213);
double r131215 = r131183 ? r131206 : r131214;
return r131215;
}



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
if x < -9.624271263026334e+52 or 7.241200350609471e+55 < x Initial program 6.6
Simplified6.6
rmApplied add-cube-cbrt7.2
Applied associate-*r*7.2
if -9.624271263026334e+52 < x < 7.241200350609471e+55Initial program 14.1
Simplified14.1
rmApplied sub-neg14.1
Applied distribute-lft-in14.1
Simplified14.1
Simplified12.1
rmApplied *-un-lft-identity12.1
Applied associate-*l*12.1
Simplified12.2
rmApplied associate-*r*9.9
Final simplification9.1
herbie shell --seed 2020042 +o rules:numerics
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))