\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 -2.3850498511755527 \cdot 10^{-92}:\\
\;\;\;\;\left(\left(y \cdot z - a \cdot t\right) \cdot x - b \cdot \left(z \cdot c - i \cdot a\right)\right) + \left(t \cdot \left(c \cdot j\right) + \left(i \cdot y\right) \cdot \left(-j\right)\right)\\
\mathbf{elif}\;x \le 5.639644518100128 \cdot 10^{-34}:\\
\;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\left(\left(y \cdot x\right) \cdot z + \left(-\left(x \cdot t\right) \cdot a\right)\right) - b \cdot \left(z \cdot c - i \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y \cdot z - a \cdot t\right) \cdot x - b \cdot \left(z \cdot c - i \cdot a\right)\right) + \left(t \cdot \left(c \cdot j\right) + \left(i \cdot y\right) \cdot \left(-j\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 r5439201 = x;
double r5439202 = y;
double r5439203 = z;
double r5439204 = r5439202 * r5439203;
double r5439205 = t;
double r5439206 = a;
double r5439207 = r5439205 * r5439206;
double r5439208 = r5439204 - r5439207;
double r5439209 = r5439201 * r5439208;
double r5439210 = b;
double r5439211 = c;
double r5439212 = r5439211 * r5439203;
double r5439213 = i;
double r5439214 = r5439213 * r5439206;
double r5439215 = r5439212 - r5439214;
double r5439216 = r5439210 * r5439215;
double r5439217 = r5439209 - r5439216;
double r5439218 = j;
double r5439219 = r5439211 * r5439205;
double r5439220 = r5439213 * r5439202;
double r5439221 = r5439219 - r5439220;
double r5439222 = r5439218 * r5439221;
double r5439223 = r5439217 + r5439222;
return r5439223;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r5439224 = x;
double r5439225 = -2.3850498511755527e-92;
bool r5439226 = r5439224 <= r5439225;
double r5439227 = y;
double r5439228 = z;
double r5439229 = r5439227 * r5439228;
double r5439230 = a;
double r5439231 = t;
double r5439232 = r5439230 * r5439231;
double r5439233 = r5439229 - r5439232;
double r5439234 = r5439233 * r5439224;
double r5439235 = b;
double r5439236 = c;
double r5439237 = r5439228 * r5439236;
double r5439238 = i;
double r5439239 = r5439238 * r5439230;
double r5439240 = r5439237 - r5439239;
double r5439241 = r5439235 * r5439240;
double r5439242 = r5439234 - r5439241;
double r5439243 = j;
double r5439244 = r5439236 * r5439243;
double r5439245 = r5439231 * r5439244;
double r5439246 = r5439238 * r5439227;
double r5439247 = -r5439243;
double r5439248 = r5439246 * r5439247;
double r5439249 = r5439245 + r5439248;
double r5439250 = r5439242 + r5439249;
double r5439251 = 5.639644518100128e-34;
bool r5439252 = r5439224 <= r5439251;
double r5439253 = r5439236 * r5439231;
double r5439254 = r5439253 - r5439246;
double r5439255 = r5439243 * r5439254;
double r5439256 = r5439227 * r5439224;
double r5439257 = r5439256 * r5439228;
double r5439258 = r5439224 * r5439231;
double r5439259 = r5439258 * r5439230;
double r5439260 = -r5439259;
double r5439261 = r5439257 + r5439260;
double r5439262 = r5439261 - r5439241;
double r5439263 = r5439255 + r5439262;
double r5439264 = r5439252 ? r5439263 : r5439250;
double r5439265 = r5439226 ? r5439250 : r5439264;
return r5439265;
}



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
Results
if x < -2.3850498511755527e-92 or 5.639644518100128e-34 < x Initial program 7.7
rmApplied add-cube-cbrt7.9
Applied associate-*l*7.9
rmApplied sub-neg7.9
Applied distribute-rgt-in7.9
Applied distribute-lft-in7.9
Simplified8.5
Simplified8.4
if -2.3850498511755527e-92 < x < 5.639644518100128e-34Initial program 14.7
rmApplied add-cube-cbrt14.8
Applied associate-*l*14.8
rmApplied sub-neg14.8
Applied distribute-rgt-in14.8
Applied distribute-lft-in14.8
Simplified12.1
Simplified9.6
Final simplification9.0
herbie shell --seed 2019143
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))