\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\begin{array}{l}
t_1 := t \cdot \left(j \cdot b\right)\\
t_2 := y4 \cdot \left(y \cdot b\right)\\
t_3 := j \cdot x - z \cdot k\\
t_4 := a \cdot \left(y2 \cdot x\right)\\
t_5 := y1 \cdot i - y0 \cdot b\\
t_6 := b \cdot \left(j \cdot x\right)\\
t_7 := a \cdot \left(z \cdot y3\right)\\
t_8 := t \cdot \left(j \cdot y5\right)\\
t_9 := y2 \cdot x - z \cdot y3\\
t_10 := j \cdot \left(b \cdot x\right)\\
t_11 := i \cdot \left(z \cdot t\right)\\
t_12 := c \cdot \mathsf{fma}\left(y4, y3 \cdot y, t_11\right)\\
t_13 := y0 \cdot \left(z \cdot y3\right)\\
t_14 := y1 \cdot \left(z \cdot i\right)\\
t_15 := k \cdot t_14\\
t_16 := k \cdot \left(i \cdot \left(y5 \cdot y\right)\right)\\
t_17 := y0 \cdot c - y1 \cdot a\\
t_18 := k \cdot \mathsf{fma}\left(y1, z \cdot i, t_2\right)\\
t_19 := y2 \cdot t - y3 \cdot y\\
t_20 := y0 \cdot \left(z \cdot b\right)\\
t_21 := i \cdot \left(y \cdot x\right)\\
t_22 := k \cdot y2 - j \cdot y3\\
t_23 := y0 \cdot \left(y2 \cdot x\right)\\
t_24 := t \cdot \left(y2 \cdot y5\right)\\
t_25 := t \cdot \left(z \cdot b\right)\\
t_26 := y \cdot x - z \cdot t\\
t_27 := k \cdot t_2\\
t_28 := y5 \cdot a - y4 \cdot c\\
t_29 := y \cdot \left(b \cdot x\right)\\
t_30 := y4 \cdot \left(y2 \cdot t\right)\\
t_31 := y1 \cdot \left(y2 \cdot x\right)\\
t_32 := a \cdot b - c \cdot i\\
t_33 := k \cdot \left(y \cdot \left(y5 \cdot i\right)\right)\\
t_34 := y1 \cdot y4 - y0 \cdot y5\\
t_35 := \mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(t_19, t_28, z \cdot \left(\mathsf{fma}\left(k, y0 \cdot b, \mathsf{fma}\left(y1, y3 \cdot a, c \cdot \left(t \cdot i\right)\right)\right) - \mathsf{fma}\left(c, y3 \cdot y0, \mathsf{fma}\left(k, y1 \cdot i, a \cdot \left(t \cdot b\right)\right)\right)\right)\right)\right)\\
t_36 := i \cdot \left(j \cdot x\right)\\
t_37 := y \cdot \left(i \cdot x\right)\\
\mathbf{if}\;z \leq -1.1476444179235389 \cdot 10^{+123}:\\
\;\;\;\;t_35\\
\mathbf{elif}\;z \leq -1.2504404513340289 \cdot 10^{-42}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(k, t_20, \mathsf{fma}\left(a, t_24, \mathsf{fma}\left(y4, t_1, \mathsf{fma}\left(a, y1 \cdot \left(z \cdot y3\right), t_12 + \mathsf{fma}\left(c, t_23, \mathsf{fma}\left(a, t_29, y1 \cdot t_36\right)\right)\right)\right)\right)\right) - \mathsf{fma}\left(a, y \cdot \left(y3 \cdot y5\right), \mathsf{fma}\left(c, t_13, \mathsf{fma}\left(c, t_21, \mathsf{fma}\left(a, t_25, \mathsf{fma}\left(c, t_30, \mathsf{fma}\left(k, t_2, \mathsf{fma}\left(y1, t_4, \mathsf{fma}\left(y0, t_6, t_15\right)\right)\right)\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq -1.7976088564314313 \cdot 10^{-87}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(a, t_24, \mathsf{fma}\left(c, t_23, \mathsf{fma}\left(y, a \cdot \left(b \cdot x\right), \mathsf{fma}\left(k, t_20, \mathsf{fma}\left(y1, t_36, \mathsf{fma}\left(y1, t_7, \mathsf{fma}\left(c, t_11, t_16\right)\right)\right)\right)\right)\right)\right) - \mathsf{fma}\left(c, t_13, \mathsf{fma}\left(y, a \cdot \left(y3 \cdot y5\right), \mathsf{fma}\left(a, t_31, \mathsf{fma}\left(y0, t_6, \mathsf{fma}\left(c, t_37, \mathsf{fma}\left(a, t_25, \mathsf{fma}\left(i, t_8, t_15\right)\right)\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq -7.887039867547132 \cdot 10^{-153}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(t_19, t_28, \mathsf{fma}\left(t_26, t_32, \mathsf{fma}\left(t_3, t_5, \mathsf{fma}\left(t_9, t_17, \mathsf{fma}\left(y4, t_1, t_16\right) - \mathsf{fma}\left(i, t_8, t_27\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq -4.1979346316806844 \cdot 10^{-185}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(t_19, t_28, \mathsf{fma}\left(t_26, t_32, y4 \cdot \left(t_1 - k \cdot \left(y \cdot b\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq -2.964585741499648 \cdot 10^{-210}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(k, t_20, \mathsf{fma}\left(c, t_23, \mathsf{fma}\left(y4, t_1, \mathsf{fma}\left(i, y1 \cdot \left(j \cdot x\right), t_12 + t_16\right)\right)\right)\right) - \mathsf{fma}\left(c, t_13, \mathsf{fma}\left(y0, t_6, \mathsf{fma}\left(c, t_21, \mathsf{fma}\left(c, t_30, \mathsf{fma}\left(i, t_8, t_18\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq -3.359482660201687 \cdot 10^{-247}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(t_19, t_28, \mathsf{fma}\left(t_26, t_32, \mathsf{fma}\left(t_3, t_5, \mathsf{fma}\left(t_9, t_17, \left(j \cdot t - k \cdot y\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq -7.963750252517817 \cdot 10^{-290}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(t_19, t_28, \mathsf{fma}\left(t_26, t_32, \mathsf{fma}\left(c, t_23, \mathsf{fma}\left(y1, t_7, \mathsf{fma}\left(y4, t_1, k \cdot t_20\right)\right)\right) - \mathsf{fma}\left(c, t_13, \mathsf{fma}\left(y1, t_4, \mathsf{fma}\left(y0, t_10, t_27\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq 2.5488787504143058 \cdot 10^{-303}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, i \cdot \left(\mathsf{fma}\left(k, y5 \cdot y, \mathsf{fma}\left(y1, j \cdot x, c \cdot \left(z \cdot t\right)\right)\right) - \mathsf{fma}\left(c, y \cdot x, \mathsf{fma}\left(k, z \cdot y1, t_8\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq 5.85002236908907 \cdot 10^{-199}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(t_19, t_28, \mathsf{fma}\left(k, t_20, \mathsf{fma}\left(c, t_23, \mathsf{fma}\left(a, t_29, \mathsf{fma}\left(y1, t_7, \mathsf{fma}\left(c, t_11, t_33\right)\right)\right)\right)\right) - \mathsf{fma}\left(c, t_13, \mathsf{fma}\left(a, t_31, \mathsf{fma}\left(c, t_37, \mathsf{fma}\left(a, t_25, t_18\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;z \leq 2.91805611483236 \cdot 10^{+97}:\\
\;\;\;\;\mathsf{fma}\left(t_22, t_34, \mathsf{fma}\left(t_19, t_28, \mathsf{fma}\left(t_26, t_32, \mathsf{fma}\left(c, t_23, \mathsf{fma}\left(k, t_20, \mathsf{fma}\left(y4, t_1, \mathsf{fma}\left(y1, t_36, \mathsf{fma}\left(y1, t_7, t_33\right)\right)\right)\right)\right) - \mathsf{fma}\left(c, t_13, \mathsf{fma}\left(y1, t_4, \mathsf{fma}\left(y0, t_10, \mathsf{fma}\left(i, t_8, k \cdot \left(t_2 + t_14\right)\right)\right)\right)\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t_35\\
\end{array}
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(+
(-
(+
(+
(-
(* (- (* x y) (* z t)) (- (* a b) (* c i)))
(* (- (* x j) (* z k)) (- (* y0 b) (* y1 i))))
(* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a))))
(* (- (* t j) (* y k)) (- (* y4 b) (* y5 i))))
(* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a))))
(* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:precision binary64
(let* ((t_1 (* t (* j b)))
(t_2 (* y4 (* y b)))
(t_3 (- (* j x) (* z k)))
(t_4 (* a (* y2 x)))
(t_5 (- (* y1 i) (* y0 b)))
(t_6 (* b (* j x)))
(t_7 (* a (* z y3)))
(t_8 (* t (* j y5)))
(t_9 (- (* y2 x) (* z y3)))
(t_10 (* j (* b x)))
(t_11 (* i (* z t)))
(t_12 (* c (fma y4 (* y3 y) t_11)))
(t_13 (* y0 (* z y3)))
(t_14 (* y1 (* z i)))
(t_15 (* k t_14))
(t_16 (* k (* i (* y5 y))))
(t_17 (- (* y0 c) (* y1 a)))
(t_18 (* k (fma y1 (* z i) t_2)))
(t_19 (- (* y2 t) (* y3 y)))
(t_20 (* y0 (* z b)))
(t_21 (* i (* y x)))
(t_22 (- (* k y2) (* j y3)))
(t_23 (* y0 (* y2 x)))
(t_24 (* t (* y2 y5)))
(t_25 (* t (* z b)))
(t_26 (- (* y x) (* z t)))
(t_27 (* k t_2))
(t_28 (- (* y5 a) (* y4 c)))
(t_29 (* y (* b x)))
(t_30 (* y4 (* y2 t)))
(t_31 (* y1 (* y2 x)))
(t_32 (- (* a b) (* c i)))
(t_33 (* k (* y (* y5 i))))
(t_34 (- (* y1 y4) (* y0 y5)))
(t_35
(fma
t_22
t_34
(fma
t_19
t_28
(*
z
(-
(fma k (* y0 b) (fma y1 (* y3 a) (* c (* t i))))
(fma c (* y3 y0) (fma k (* y1 i) (* a (* t b)))))))))
(t_36 (* i (* j x)))
(t_37 (* y (* i x))))
(if (<= z -1.1476444179235389e+123)
t_35
(if (<= z -1.2504404513340289e-42)
(fma
t_22
t_34
(-
(fma
k
t_20
(fma
a
t_24
(fma
y4
t_1
(fma
a
(* y1 (* z y3))
(+ t_12 (fma c t_23 (fma a t_29 (* y1 t_36))))))))
(fma
a
(* y (* y3 y5))
(fma
c
t_13
(fma
c
t_21
(fma
a
t_25
(fma c t_30 (fma k t_2 (fma y1 t_4 (fma y0 t_6 t_15))))))))))
(if (<= z -1.7976088564314313e-87)
(fma
t_22
t_34
(-
(fma
a
t_24
(fma
c
t_23
(fma
y
(* a (* b x))
(fma k t_20 (fma y1 t_36 (fma y1 t_7 (fma c t_11 t_16)))))))
(fma
c
t_13
(fma
y
(* a (* y3 y5))
(fma
a
t_31
(fma y0 t_6 (fma c t_37 (fma a t_25 (fma i t_8 t_15)))))))))
(if (<= z -7.887039867547132e-153)
(fma
t_22
t_34
(fma
t_19
t_28
(fma
t_26
t_32
(fma
t_3
t_5
(fma t_9 t_17 (- (fma y4 t_1 t_16) (fma i t_8 t_27)))))))
(if (<= z -4.1979346316806844e-185)
(fma
t_22
t_34
(fma t_19 t_28 (fma t_26 t_32 (* y4 (- t_1 (* k (* y b)))))))
(if (<= z -2.964585741499648e-210)
(fma
t_22
t_34
(-
(fma
k
t_20
(fma
c
t_23
(fma y4 t_1 (fma i (* y1 (* j x)) (+ t_12 t_16)))))
(fma
c
t_13
(fma y0 t_6 (fma c t_21 (fma c t_30 (fma i t_8 t_18)))))))
(if (<= z -3.359482660201687e-247)
(fma
t_22
t_34
(fma
t_19
t_28
(fma
t_26
t_32
(fma
t_3
t_5
(fma
t_9
t_17
(* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))))))
(if (<= z -7.963750252517817e-290)
(fma
t_22
t_34
(fma
t_19
t_28
(fma
t_26
t_32
(-
(fma c t_23 (fma y1 t_7 (fma y4 t_1 (* k t_20))))
(fma c t_13 (fma y1 t_4 (fma y0 t_10 t_27)))))))
(if (<= z 2.5488787504143058e-303)
(fma
t_22
t_34
(*
i
(-
(fma k (* y5 y) (fma y1 (* j x) (* c (* z t))))
(fma c (* y x) (fma k (* z y1) t_8)))))
(if (<= z 5.85002236908907e-199)
(fma
t_22
t_34
(fma
t_19
t_28
(-
(fma
k
t_20
(fma
c
t_23
(fma a t_29 (fma y1 t_7 (fma c t_11 t_33)))))
(fma
c
t_13
(fma a t_31 (fma c t_37 (fma a t_25 t_18)))))))
(if (<= z 2.91805611483236e+97)
(fma
t_22
t_34
(fma
t_19
t_28
(fma
t_26
t_32
(-
(fma
c
t_23
(fma
k
t_20
(fma y4 t_1 (fma y1 t_36 (fma y1 t_7 t_33)))))
(fma
c
t_13
(fma
y1
t_4
(fma
y0
t_10
(fma i t_8 (* k (+ t_2 t_14))))))))))
t_35)))))))))))))double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
return (((((((x * y) - (z * t)) * ((a * b) - (c * i))) - (((x * j) - (z * k)) * ((y0 * b) - (y1 * i)))) + (((x * y2) - (z * y3)) * ((y0 * c) - (y1 * a)))) + (((t * j) - (y * k)) * ((y4 * b) - (y5 * i)))) - (((t * y2) - (y * y3)) * ((y4 * c) - (y5 * a)))) + (((k * y2) - (j * y3)) * ((y4 * y1) - (y5 * y0)));
}
double code(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double t_1 = t * (j * b);
double t_2 = y4 * (y * b);
double t_3 = (j * x) - (z * k);
double t_4 = a * (y2 * x);
double t_5 = (y1 * i) - (y0 * b);
double t_6 = b * (j * x);
double t_7 = a * (z * y3);
double t_8 = t * (j * y5);
double t_9 = (y2 * x) - (z * y3);
double t_10 = j * (b * x);
double t_11 = i * (z * t);
double t_12 = c * fma(y4, (y3 * y), t_11);
double t_13 = y0 * (z * y3);
double t_14 = y1 * (z * i);
double t_15 = k * t_14;
double t_16 = k * (i * (y5 * y));
double t_17 = (y0 * c) - (y1 * a);
double t_18 = k * fma(y1, (z * i), t_2);
double t_19 = (y2 * t) - (y3 * y);
double t_20 = y0 * (z * b);
double t_21 = i * (y * x);
double t_22 = (k * y2) - (j * y3);
double t_23 = y0 * (y2 * x);
double t_24 = t * (y2 * y5);
double t_25 = t * (z * b);
double t_26 = (y * x) - (z * t);
double t_27 = k * t_2;
double t_28 = (y5 * a) - (y4 * c);
double t_29 = y * (b * x);
double t_30 = y4 * (y2 * t);
double t_31 = y1 * (y2 * x);
double t_32 = (a * b) - (c * i);
double t_33 = k * (y * (y5 * i));
double t_34 = (y1 * y4) - (y0 * y5);
double t_35 = fma(t_22, t_34, fma(t_19, t_28, (z * (fma(k, (y0 * b), fma(y1, (y3 * a), (c * (t * i)))) - fma(c, (y3 * y0), fma(k, (y1 * i), (a * (t * b))))))));
double t_36 = i * (j * x);
double t_37 = y * (i * x);
double tmp;
if (z <= -1.1476444179235389e+123) {
tmp = t_35;
} else if (z <= -1.2504404513340289e-42) {
tmp = fma(t_22, t_34, (fma(k, t_20, fma(a, t_24, fma(y4, t_1, fma(a, (y1 * (z * y3)), (t_12 + fma(c, t_23, fma(a, t_29, (y1 * t_36)))))))) - fma(a, (y * (y3 * y5)), fma(c, t_13, fma(c, t_21, fma(a, t_25, fma(c, t_30, fma(k, t_2, fma(y1, t_4, fma(y0, t_6, t_15))))))))));
} else if (z <= -1.7976088564314313e-87) {
tmp = fma(t_22, t_34, (fma(a, t_24, fma(c, t_23, fma(y, (a * (b * x)), fma(k, t_20, fma(y1, t_36, fma(y1, t_7, fma(c, t_11, t_16))))))) - fma(c, t_13, fma(y, (a * (y3 * y5)), fma(a, t_31, fma(y0, t_6, fma(c, t_37, fma(a, t_25, fma(i, t_8, t_15)))))))));
} else if (z <= -7.887039867547132e-153) {
tmp = fma(t_22, t_34, fma(t_19, t_28, fma(t_26, t_32, fma(t_3, t_5, fma(t_9, t_17, (fma(y4, t_1, t_16) - fma(i, t_8, t_27)))))));
} else if (z <= -4.1979346316806844e-185) {
tmp = fma(t_22, t_34, fma(t_19, t_28, fma(t_26, t_32, (y4 * (t_1 - (k * (y * b)))))));
} else if (z <= -2.964585741499648e-210) {
tmp = fma(t_22, t_34, (fma(k, t_20, fma(c, t_23, fma(y4, t_1, fma(i, (y1 * (j * x)), (t_12 + t_16))))) - fma(c, t_13, fma(y0, t_6, fma(c, t_21, fma(c, t_30, fma(i, t_8, t_18)))))));
} else if (z <= -3.359482660201687e-247) {
tmp = fma(t_22, t_34, fma(t_19, t_28, fma(t_26, t_32, fma(t_3, t_5, fma(t_9, t_17, (((j * t) - (k * y)) * ((y4 * b) - (y5 * i))))))));
} else if (z <= -7.963750252517817e-290) {
tmp = fma(t_22, t_34, fma(t_19, t_28, fma(t_26, t_32, (fma(c, t_23, fma(y1, t_7, fma(y4, t_1, (k * t_20)))) - fma(c, t_13, fma(y1, t_4, fma(y0, t_10, t_27)))))));
} else if (z <= 2.5488787504143058e-303) {
tmp = fma(t_22, t_34, (i * (fma(k, (y5 * y), fma(y1, (j * x), (c * (z * t)))) - fma(c, (y * x), fma(k, (z * y1), t_8)))));
} else if (z <= 5.85002236908907e-199) {
tmp = fma(t_22, t_34, fma(t_19, t_28, (fma(k, t_20, fma(c, t_23, fma(a, t_29, fma(y1, t_7, fma(c, t_11, t_33))))) - fma(c, t_13, fma(a, t_31, fma(c, t_37, fma(a, t_25, t_18)))))));
} else if (z <= 2.91805611483236e+97) {
tmp = fma(t_22, t_34, fma(t_19, t_28, fma(t_26, t_32, (fma(c, t_23, fma(k, t_20, fma(y4, t_1, fma(y1, t_36, fma(y1, t_7, t_33))))) - fma(c, t_13, fma(y1, t_4, fma(y0, t_10, fma(i, t_8, (k * (t_2 + t_14))))))))));
} else {
tmp = t_35;
}
return tmp;
}




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




Bits error versus y0




Bits error versus y1




Bits error versus y2




Bits error versus y3




Bits error versus y4




Bits error versus y5
| Original | 26.7 |
|---|---|
| Target | 30.5 |
| Herbie | 29.4 |
if z < -1.1476444179235389e123 or 2.9180561148323599e97 < z Initial program 31.5
Simplified31.5
Taylor expanded in z around -inf 28.0
Simplified28.0
if -1.1476444179235389e123 < z < -1.25044045133402888e-42Initial program 24.5
Simplified24.5
Taylor expanded in b around inf 26.9
Taylor expanded in y around inf 31.9
Simplified31.9
if -1.25044045133402888e-42 < z < -1.79760885643143127e-87Initial program 23.2
Simplified23.2
Taylor expanded in y4 around 0 28.4
Simplified28.4
if -1.79760885643143127e-87 < z < -7.8870398675471324e-153Initial program 24.1
Simplified24.1
Taylor expanded in t around 0 25.8
Simplified25.8
if -7.8870398675471324e-153 < z < -4.1979346316806844e-185Initial program 28.6
Simplified28.6
Taylor expanded in y4 around -inf 39.2
if -4.1979346316806844e-185 < z < -2.96458574149964797e-210Initial program 28.2
Simplified28.2
Taylor expanded in x around 0 27.7
Simplified27.7
Taylor expanded in a around 0 35.0
Simplified34.7
if -2.96458574149964797e-210 < z < -3.35948266020168695e-247Initial program 27.2
Simplified27.2
if -3.35948266020168695e-247 < z < -7.9637502525178171e-290Initial program 26.7
Simplified26.7
Taylor expanded in i around 0 29.8
Simplified29.8
if -7.9637502525178171e-290 < z < 2.5488787504143058e-303Initial program 27.5
Simplified27.5
Taylor expanded in x around 0 25.7
Simplified25.7
Taylor expanded in i around -inf 42.2
Simplified42.2
if 2.5488787504143058e-303 < z < 5.85002236908907042e-199Initial program 28.0
Simplified28.0
Taylor expanded in j around 0 30.3
Simplified30.3
if 5.85002236908907042e-199 < z < 2.9180561148323599e97Initial program 24.5
Simplified24.5
Taylor expanded in x around 0 27.1
Simplified27.1
Final simplification29.4
herbie shell --seed 2022130
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
:precision binary64
:herbie-target
(if (< y4 -7.206256231996481e+60) (- (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))) (- (/ (- (* y2 t) (* y3 y)) (/ 1.0 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3.364603505246317e-66) (+ (- (- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x))) (* (- (* b y0) (* i y1)) (- (* j x) (* k z)))) (- (* (- (* y0 c) (* a y1)) (- (* x y2) (* z y3))) (- (* (- (* t y2) (* y y3)) (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) (- (* k y2) (* j y3)))))) (if (< y4 -1.2000065055686116e-105) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 6.718963124057495e-279) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (if (< y4 4.77962681403792e-222) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 2.2852241541266835e-175) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (- (* k (* i (* z y1))) (+ (* j (* i (* x y1))) (* y0 (* k (* z b)))))) (- (* z (* y3 (* a y1))) (+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3)))))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))))))))
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))