(FPCore (x y z t a b c i j k)
:precision binary64
(-
(-
(+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c))
(* (* x 4.0) i))
(* (* j 27.0) k)))
↓
(FPCore (x y z t a b c i j k)
:precision binary64
(let* ((t_1 (* k (* j -27.0)))
(t_2 (* t (* a -4.0)))
(t_3 (* i (* x -4.0)))
(t_4 (+ (+ (- t_2 (* t (* z (* y (* x -18.0))))) (* b c)) t_3)))
(if (<= t_4 -2e+294)
(+ (+ (+ (+ (* (* z (* x t)) (* 18.0 y)) t_2) (* b c)) t_3) t_1)
(if (<= t_4 1e+306)
(+ t_4 t_1)
(+
(+ (* x (* (* y t) (* 18.0 z))) (* b c))
(+ (* x (* i -4.0)) (* j (* k -27.0))))))))
(-.f64 (+.f64 (*.f64 t (-.f64 (*.f64 (*.f64 x 18) (*.f64 y z)) (*.f64 a 4))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 (*.f64 t (-.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (*.f64 x 18) y) z)) (*.f64 a 4))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 12 points decrease in error
(-.f64 (+.f64 (Rewrite<= distribute-rgt-out--_binary64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 (Rewrite=> sub-neg_binary64 (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (neg.f64 (*.f64 (*.f64 a 4) t)))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 16 points increase in error, 0 points decrease in error
(-.f64 (+.f64 (Rewrite=> +-commutative_binary64 (+.f64 (neg.f64 (*.f64 (*.f64 a 4) t)) (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 1 points decrease in error
(-.f64 (+.f64 (+.f64 (Rewrite=> neg-sub0_binary64 (-.f64 0 (*.f64 (*.f64 a 4) t))) (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t)) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 16 points decrease in error
(-.f64 (+.f64 (Rewrite=> associate-+l-_binary64 (-.f64 0 (-.f64 (*.f64 (*.f64 a 4) t) (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t)))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 (Rewrite<= associate-+l-_binary64 (+.f64 (-.f64 0 (*.f64 (*.f64 a 4) t)) (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 0 points decrease in error
(-.f64 (+.f64 (+.f64 (Rewrite<= neg-sub0_binary64 (neg.f64 (*.f64 (*.f64 a 4) t))) (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t)) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 4 points increase in error, 0 points decrease in error
(-.f64 (+.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (neg.f64 (*.f64 (*.f64 a 4) t)))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 4 points decrease in error
(-.f64 (+.f64 (Rewrite<= sub-neg_binary64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t))) (*.f64 b c)) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 0 points decrease in error
(-.f64 (Rewrite=> associate-+l-_binary64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (-.f64 (*.f64 (*.f64 a 4) t) (*.f64 b c)))) (+.f64 (*.f64 x (*.f64 4 i)) (*.f64 j (*.f64 27 k)))): 0 points increase in error, 0 points decrease in error
(-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (-.f64 (*.f64 (*.f64 a 4) t) (*.f64 b c))) (+.f64 (*.f64 x (*.f64 4 i)) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 j 27) k)))): 0 points increase in error, 0 points decrease in error
(-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (-.f64 (*.f64 (*.f64 a 4) t) (*.f64 b c))) (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x 4) i)) (*.f64 (*.f64 j 27) k))): 0 points increase in error, 0 points decrease in error
(-.f64 (Rewrite<= associate-+l-_binary64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c))) (+.f64 (*.f64 (*.f64 x 4) i) (*.f64 (*.f64 j 27) k))): 12 points increase in error, 0 points decrease in error
(Rewrite<= associate--l-_binary64 (-.f64 (-.f64 (+.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 18) y) z) t) (*.f64 (*.f64 a 4) t)) (*.f64 b c)) (*.f64 (*.f64 x 4) i)) (*.f64 (*.f64 j 27) k))): 0 points increase in error, 12 points decrease in error
herbie shell --seed 2022343
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, E"
:precision binary64
:herbie-target
(if (< t -1.6210815397541398e-69) (- (- (* (* 18.0 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4.0)) (- (* (* k j) 27.0) (* c b))) (if (< t 165.68027943805222) (+ (- (* (* 18.0 y) (* x (* z t))) (* (+ (* a t) (* i x)) 4.0)) (- (* c b) (* 27.0 (* k j)))) (- (- (* (* 18.0 t) (* (* x y) z)) (* (+ (* a t) (* i x)) 4.0)) (- (* (* k j) 27.0) (* c b)))))
(- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))