



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
| Original | 12.2 |
|---|---|
| Target | 19.9 |
| Herbie | 8.8 |
if j < -1.1329614540433217e-41 or 1.7747111683562279e26 < j Initial program 7.8
Simplified7.8
rmApplied sub-neg7.8
Applied distribute-lft-in7.8
Simplified8.4
Simplified8.7
rmApplied associate-*r*8.3
if -1.1329614540433217e-41 < j < 1.7747111683562279e26Initial program 15.2
Simplified15.2
rmApplied sub-neg15.2
Applied distribute-lft-in15.2
Simplified15.0
Simplified14.8
rmApplied add-cube-cbrt15.2
Applied associate-*r*15.2
Simplified15.2
rmApplied sub-neg15.2
Applied distribute-lft-in15.2
Simplified12.4
Simplified9.1
Final simplification8.8
herbie shell --seed 2020179
(FPCore (x y z t a b c i j)
:name "Data.Colour.Matrix:determinant from colour-2.3.3, A"
:precision binary64
:herbie-target
(if (< x -1.469694296777705e-64) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2.0) (pow (* t i) 2.0))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i)))) (if (< x 3.2113527362226803e-147) (- (* (- (* b i) (* x a)) t) (- (* z (* c b)) (* j (- (* c a) (* y i))))) (+ (- (* x (- (* y z) (* t a))) (/ (* b (- (pow (* c z) 2.0) (pow (* t i) 2.0))) (+ (* c z) (* t i)))) (* j (- (* c a) (* y i))))))
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* t i)))) (* j (- (* c a) (* y i)))))