\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}\;z \le -2.973496614217344094601403267363420899231 \cdot 10^{-55} \lor \neg \left(z \le 1.751377172133955651818986187295260027638 \cdot 10^{-61}\right):\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(-i \cdot a\right) \cdot b\right)\right) + \left(\left(j \cdot c\right) \cdot t + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(y \cdot z\right) \cdot x + \left(-a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(j \cdot c\right) \cdot t + \left(-\left(i \cdot j\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 r99165 = x;
double r99166 = y;
double r99167 = z;
double r99168 = r99166 * r99167;
double r99169 = t;
double r99170 = a;
double r99171 = r99169 * r99170;
double r99172 = r99168 - r99171;
double r99173 = r99165 * r99172;
double r99174 = b;
double r99175 = c;
double r99176 = r99175 * r99167;
double r99177 = i;
double r99178 = r99177 * r99170;
double r99179 = r99176 - r99178;
double r99180 = r99174 * r99179;
double r99181 = r99173 - r99180;
double r99182 = j;
double r99183 = r99175 * r99169;
double r99184 = r99177 * r99166;
double r99185 = r99183 - r99184;
double r99186 = r99182 * r99185;
double r99187 = r99181 + r99186;
return r99187;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r99188 = z;
double r99189 = -2.973496614217344e-55;
bool r99190 = r99188 <= r99189;
double r99191 = 1.7513771721339557e-61;
bool r99192 = r99188 <= r99191;
double r99193 = !r99192;
bool r99194 = r99190 || r99193;
double r99195 = x;
double r99196 = y;
double r99197 = r99196 * r99188;
double r99198 = t;
double r99199 = a;
double r99200 = r99198 * r99199;
double r99201 = r99197 - r99200;
double r99202 = r99195 * r99201;
double r99203 = b;
double r99204 = c;
double r99205 = r99203 * r99204;
double r99206 = r99188 * r99205;
double r99207 = i;
double r99208 = r99207 * r99199;
double r99209 = -r99208;
double r99210 = r99209 * r99203;
double r99211 = r99206 + r99210;
double r99212 = r99202 - r99211;
double r99213 = j;
double r99214 = r99213 * r99204;
double r99215 = r99214 * r99198;
double r99216 = r99213 * r99196;
double r99217 = r99207 * r99216;
double r99218 = -r99217;
double r99219 = r99215 + r99218;
double r99220 = r99212 + r99219;
double r99221 = r99197 * r99195;
double r99222 = r99195 * r99198;
double r99223 = r99199 * r99222;
double r99224 = -r99223;
double r99225 = r99221 + r99224;
double r99226 = r99204 * r99188;
double r99227 = r99226 - r99208;
double r99228 = r99203 * r99227;
double r99229 = r99225 - r99228;
double r99230 = r99207 * r99213;
double r99231 = r99230 * r99196;
double r99232 = -r99231;
double r99233 = r99215 + r99232;
double r99234 = r99229 + r99233;
double r99235 = r99194 ? r99220 : r99234;
return r99235;
}



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 z < -2.973496614217344e-55 or 1.7513771721339557e-61 < z Initial program 15.3
rmApplied sub-neg15.3
Applied distribute-lft-in15.3
Simplified15.8
rmApplied associate-*r*15.9
rmApplied sub-neg15.9
Applied distribute-lft-in15.9
Simplified12.7
Simplified12.7
if -2.973496614217344e-55 < z < 1.7513771721339557e-61Initial program 9.5
rmApplied sub-neg9.5
Applied distribute-lft-in9.5
Simplified9.7
rmApplied associate-*r*10.0
rmApplied associate-*r*9.3
rmApplied sub-neg9.3
Applied distribute-lft-in9.3
Simplified9.3
Simplified10.0
Final simplification11.3
herbie shell --seed 2019304
(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)))))