\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}\;a \le -4.88036432040742027 \cdot 10^{212} \lor \neg \left(a \le 3.02750195058074553 \cdot 10^{148}\right):\\
\;\;\;\;\mathsf{fma}\left(a, i \cdot b, -\mathsf{fma}\left(z, b \cdot c, a \cdot \left(x \cdot t\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x} \cdot \left(y \cdot z - t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\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 r138142 = x;
double r138143 = y;
double r138144 = z;
double r138145 = r138143 * r138144;
double r138146 = t;
double r138147 = a;
double r138148 = r138146 * r138147;
double r138149 = r138145 - r138148;
double r138150 = r138142 * r138149;
double r138151 = b;
double r138152 = c;
double r138153 = r138152 * r138144;
double r138154 = i;
double r138155 = r138154 * r138147;
double r138156 = r138153 - r138155;
double r138157 = r138151 * r138156;
double r138158 = r138150 - r138157;
double r138159 = j;
double r138160 = r138152 * r138146;
double r138161 = r138154 * r138143;
double r138162 = r138160 - r138161;
double r138163 = r138159 * r138162;
double r138164 = r138158 + r138163;
return r138164;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r138165 = a;
double r138166 = -4.88036432040742e+212;
bool r138167 = r138165 <= r138166;
double r138168 = 3.0275019505807455e+148;
bool r138169 = r138165 <= r138168;
double r138170 = !r138169;
bool r138171 = r138167 || r138170;
double r138172 = i;
double r138173 = b;
double r138174 = r138172 * r138173;
double r138175 = z;
double r138176 = c;
double r138177 = r138173 * r138176;
double r138178 = x;
double r138179 = t;
double r138180 = r138178 * r138179;
double r138181 = r138165 * r138180;
double r138182 = fma(r138175, r138177, r138181);
double r138183 = -r138182;
double r138184 = fma(r138165, r138174, r138183);
double r138185 = r138176 * r138179;
double r138186 = y;
double r138187 = r138172 * r138186;
double r138188 = r138185 - r138187;
double r138189 = j;
double r138190 = cbrt(r138178);
double r138191 = r138190 * r138190;
double r138192 = r138186 * r138175;
double r138193 = r138179 * r138165;
double r138194 = r138192 - r138193;
double r138195 = r138190 * r138194;
double r138196 = r138191 * r138195;
double r138197 = r138176 * r138175;
double r138198 = r138172 * r138165;
double r138199 = r138197 - r138198;
double r138200 = r138173 * r138199;
double r138201 = r138196 - r138200;
double r138202 = fma(r138188, r138189, r138201);
double r138203 = r138171 ? r138184 : r138202;
return r138203;
}



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 a < -4.88036432040742e+212 or 3.0275019505807455e+148 < a Initial program 24.4
Simplified24.4
Taylor expanded around inf 19.6
Simplified19.6
if -4.88036432040742e+212 < a < 3.0275019505807455e+148Initial program 10.4
Simplified10.4
rmApplied add-cube-cbrt10.7
Applied associate-*l*10.7
Final simplification11.8
herbie shell --seed 2020049 +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)))))